asp.net做网站,有没有办法添加winfrom窗体,或者类似的
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.net做网站,有没有办法添加winfrom窗体,或者类似的相关的知识,希望对你有一定的参考价值。
要达到的效果就是点一个button空间然后弹出如图的对话框
Response.Write("<script>alert('//内容')</script>"); 参考技术C 楼主的意思是web弹出网页对话框?
是的话应该是这个window.showModalDialog()本回答被提问者采纳
有没有办法将 onclick 事件添加到 ASP.NET 标签服务器控件?
【中文标题】有没有办法将 onclick 事件添加到 ASP.NET 标签服务器控件?【英文标题】:Is there a way to add an onclick event to an ASP.NET Label server control? 【发布时间】:2010-09-15 22:00:03 【问题描述】:我想做这样的事情:
<asp:Label ID="lblMyLabel" onclick="lblMyLabel_Click" runat="server">My Label</asp:Label>
我知道在 Javascript 中我可以做到:
<span onclick="foo();">My Label</span>
所以我想知道为什么我不能用 Label 对象做到这一点。
【问题讨论】:
【参考方案1】:您可以使用属性添加 onclick 客户端回调。
我不知道您可以在 span 标签上执行此操作,但如果可以,您可以通过 lblMyLabel.Attributes.Add("onclick", "foo();");
添加“onclick”
但foo();
需要是客户端 javascript 函数。
System.Web.UI.WebControls.Label
没有 OnClick 服务器事件。如果您想使用上面的示例进行服务器回调,您可以考虑使用 AJAX。
你也可以像其他人说的那样使用LinkButton
。如果只是你关心的下划线,你可以使用 CSS 使它看起来不像一个链接。
ASPX:
<asp:LinkButton ID="LinkButton1" runat="server"
CssClass="imjusttext" OnClick="LinkButton1_Click">
LinkButton
</asp:LinkButton>
CSS:
a.imjusttext color: #000000; text-decoration: none;
a.imjusttext:hover text-decoration: none;
【讨论】:
【参考方案2】:您的问题没有说明您是要在服务器(VB 或 c#)还是客户端(javascript)上引发点击事件。如果您正在寻找服务器端事件,您应该使用链接按钮使链接显示为标签的 css。然后,您可以使用链接按钮的服务器端单击事件。如果您正在寻找客户端点击事件 - 只需将其输入到您的服务器控件标记中asp:label id="MyLabel" runat="server" onclick="javascript:alert('hello');" Text="Click Me";
ASP.NET 将在生成的 html 标记中发出其他属性。
【讨论】:
【参考方案3】:您可以在 page_load 中的代码中执行此操作,例如:
void Page_Load(object sender, EventArgs e)
lblMyLabel.Attributes.Add("onclick",
"javascript:alert('ALERT ALERT!!!')");
【讨论】:
【参考方案4】:如果你想要一个 onclick 事件,为什么不使用一个链接按钮,它有 onclientclick
事件:
<asp:linkbutton id="lblMyLink" onclientclick="lblMyLink_Click" runat="server">My Label</asp:linkbutton>
你可以使用 CSS 让链接看起来像你想要的任何东西
【讨论】:
我不想让它看起来像一个链接,也不想用 CSS 破解一个链接看起来像纯文本,但我想这就是我必须做的。 :( 不过谢谢。【参考方案5】:我认为你可以,但它是客户端的 onclick 处理程序,而不是服务器端。它会抱怨该属性不受支持(或某些此类),但我认为它可以正确呈现。如果你想要一个服务器端处理程序,我认为你需要做一个 LinkButton。
【讨论】:
【参考方案6】:据我所知,这是不可能的。标签控件发出<span
> 元素,该元素在服务器端是“不可点击的”。您需要将 Label 控件替换为 LinkButton。
【讨论】:
【参考方案7】:另一个技巧是使用 style="display:none;" 的隐藏链接或按钮并从 span 中的 javascript 函数触发对服务器控件的单击。
类似这样的:
<asp:linkbutton id="lblMyLink" onClick="lblMyLink_Click" runat="server" style="display:none;">My Link</asp:linkbutton>
<span onclick="document.getElementById('lblMyLink').click();">My Label</span>
【讨论】:
【参考方案8】:您总是可以使用 .net 的标准回发 javascript 推出自己的控件来生成跨度,但如前所述,使用带有 CSS 类的链接标签会更容易
【讨论】:
【参考方案9】:只是在这个问题上插话, 我在 .aspx 页面中使用了一个标签,如果数据集中有子记录,该标签仅在我的 DataList 项模板中可见。
我给标签添加了一个onclick函数:
moreOptionsLabel.Attributes.Add("onclick", string.Format("toggle_visibility('0')", div.ClientID));
在我的 .cs 文件中。它现在将控制 .aspx 页面中的 div 标记来显示或隐藏记录 - 因为 onclick 指向客户端 JavaScript 函数。请注意 div.ClientID,这使得它可以在数据列表中使用。
如上所述 - span 标签确实可以通过“onclick”来发挥作用。并且由于标签控件在页面请求之后呈现为跨度,因此使用 Addtribute.Add("onclick".... 确实有效。
结果是无需回发即可显示/隐藏数据功能。如果您使用 LinkButton 或类似控件 - 回发和页面重新加载是不可避免的 - 除非您想了解一些 Ajax 内容。
注意:除非您使用下划线和手形光标对其进行样式设置,否则 span 标签看起来不可点击。
这个想法的功劳来自 Will Asrari,http://www.willasrari.com/blog/display-nested-repeaters-and-gridviews-asynchronously/000292.aspx
【讨论】:
【参考方案10】:您需要创建一个继承自标签和 onclick 事件处理程序的类对象,这将是您自己的方法并将您的对象用作自定义标签。
【讨论】:
以上是关于asp.net做网站,有没有办法添加winfrom窗体,或者类似的的主要内容,如果未能解决你的问题,请参考以下文章
用ASP.NET做网站时,为啥设置了showMessageBox属性为True却不会弹出窗口?
有没有办法将元数据添加到 ASP.NET Core 中的所有 GET 端点?