MVC WebForms控件和事件
本文关键字:事件 控件 WebForms MVC | 更新日期: 2023-09-27 18:16:51
你好,
我知道剃刀和网络表单不同,但我也不想混太多。
我创建了ASP.NET MVC WebForms,Masterpages包括Pages和UserControls。它工作得很好,但我想知道如何在MVC Webforms中处理点击事件?
Codebehin文件仍然存在,例如default.aspx。cs,如果我可以双击按钮,则它会创建单击事件,但不起作用。
我们可以在MVC中使用asp.net组件吗?"代码隐藏"文件怎么样
(示例控件:asp:label、asp:textbox、asp:hyperlink等(
谢谢,
更新
这是示例代码(contact.aspx(:
<div class="contact_text">
<asp:Label ID="lbl_namesurname" runat="server" Text="<%$ Resources:contact, lbl_namesurname.Text%>"></asp:Label>
</div>
<div class="txt_namesurname">
<asp:TextBox ID="txt_namesurname" runat="server" ValidationGroup="contact"></asp:TextBox>
</div>
<div><asp:Button ID="btn_send" runat="server" CssClass="btn_send" Text="<%$ Resources:contact, btn_send.ToolTip%>" ToolTip="<%$ Resources:contact, btn_send.ToolTip%>" OnClick="btn_send_Click" ValidationGroup="contact"/></div>
contact.aspx。cs文件:
public partial class contact : ViewPage
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btn_send_Click(object sender, EventArgs e)
{
//old code-behind is not working in mvc
}
}
}
没有MVC Web窗体这样的东西。有ASP.NET MVC和ASP.NET Web窗体。不同的技术,你不能把它们混合在一起(尽管它们可以并排放置(。
MVC的生命周期与Web窗体不同,因此不能有代码隐藏或用户控件。MVC必须有不同的想法:请求被路由到控制器。控制器检查请求,对数据检索层进行所需的任何调用,选择一个视图,并将任何必要的数据传递给该视图,该视图被呈现为HTML并发送给客户端。除非您使用AJAX或类似的技术,否则后续的通信也会经过相同的过程。
所以,想想那个按钮会做什么。它应该发电子邮件吗?那么它应该是一个表单提交。它是否应该收集更多的数据并更新已经加载的页面上的DOM?那么AJAX可能更合适。