从控制器调用方法在asp.net按钮从视图
本文关键字:net 按钮 视图 asp 控制器 调用 方法 | 更新日期: 2023-09-27 18:08:17
我是MVC技术的新手,我正试图慢慢学习这项技术。我有一个问题,我认为相当简单,但我找不到任何解决方案。我有一个视图,代码如下:
<script runat="server">
protected void btnSubmit_Click(object sender, EventArgs e)
{
}
</script>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
Home Page
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2><%: ViewData["Message"] %></h2>
<form id="submitForm" runat="server">
<p>Enter URL: <asp:TextBox ID="txtOne" runat="server" /> <asp:Button
ID="btnSubmit" runat="server" onclick="btnSubmit_Click" Text="Submit" />
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
ControlToValidate="txtOne" Display="Dynamic"
ErrorMessage="Website URL not valid."
ValidationExpression="http(s)?://(['w-]+'.)+['w-]+(/['w- ./?%&=]*)?"></asp:RegularExpressionValidator>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
ControlToValidate="txtOne" Display="Dynamic" ErrorMessage="Please enter URL."></asp:RequiredFieldValidator>
</p>
</form>
</asp:Content>
还有控制器代码其中有一个方法:
public ActionResult isValidURL(string url)
{
if (Regex.IsMatch(url, @"http(s)?://(['w-]+'.)+['w-]+(/['w- ./?%&=]*)?"))
{
}
return View();
}
当按钮被点击并传递参数时,我如何调用isValidURL ?提前感谢Laziale
您应该使用简单的html或特殊的html帮助程序,而不是从<asp:
开始的asp.net控件
首先,您需要删除按钮单击处理程序。然后,您需要将url的文本框命名为"url",它应该等于isValidURL()
方法参数的名称。之后,请确保您的按钮提交表单到以下url {your controller name}/isValidURL
。当你点击按钮时,表单会被提交到服务器你的isValidURL方法会被执行。
幕后发生了什么
非常粗略,但对正在发生的事情有基本的了解。ASP。. NET MVC对表单和url参数使用命名约定。如果你通过GET或POST发送HTTP请求。. NET MVC使用路由规则对其进行解析,您已经注册,运行您的控制器和相应的操作,例如您使用GET发布http请求到"http:/localhost/controller1/Action1?x=8"
。在本例中,ASP。. NET MVC将尝试运行Controller1,然后运行它的方法Action1,并带有以下签名"Action(int x)"。