[英]call method from controller in asp.net button from view
我是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控件<asp:
首先,您需要刪除按鈕單擊處理程序。 然后,您需要使用url命名文本框為“ url”,它應等於isValidURL()
方法參數的名稱。 之后,請確保您的按鈕正在將表單提交到以下URL {your controller name}/isValidURL
。 而且,當您單擊按鈕時,表單將被提交到服務器,並且您的isValidURL方法將被執行。
幕后發生了什么
非常粗略,但是對所發生的事情有基本的了解。 ASP.NET MVC對表單和url參數使用命名約定。 如果要通過GET或POST發送HTTP請求,則ASP.NET MVC使用已注冊的路由規則對其進行解析,並運行控制器和相應的操作,例如,使用GET將HTTP請求發布到"http:/localhost/controller1/Action1?x=8"
。 在這種情況下,ASP.NET MVC將嘗試運行Controller1,然后嘗試運行具有以下簽名“ Action(int x)”的名為Action1的方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.