2013-04-26 71 views
0

我有一個Label,一個Textbox並在Page一個Button的UpdatePanel實現的功能在MVC

將值輸入到Textbox時,我想在Label上顯示一些內容。 Button也獲取該信息並運行一些代碼。

在ASP.NET中,我只想在這三個控件周圍放一個Ajax UpdatePanel,在TextBox上添加兩個事件。 TextChangeButton.Click並在Postback上作出反應。

我如何在MVC做到這一點?

回答

1

MVC和webforms的生命週期都不同。 MVC是不是服務器控件....視圖狀態......在Web表單沒有頁面生命週期事件......

What is the 'page lifecycle' of an ASP.NET MVC page, compared to ASP.NET WebForms? 希望這有助於..

現在來到你的觀點。

,如果你想在標籤中顯示的東西,而輸入一個值,你必須使用客戶端腳本見下文

的JavaScript

<script type="text/javascript" language="javascript"> 
     function textCounter(field, field2, maxlimit) { 
      var countfield = document.getElementById(field2); 
      if (field.value.length > maxlimit) { 
       field.value = field.value.substring(0, maxlimit); 
       return false; 
      } else { 
       countfield.value = maxlimit - field.value.length; 
      } 
     } 
</script> 

你的HTML頁面例如文本框

<%using (Html.BeginForm("Index", "Account", FormMethod.Post)) // here index is a ActionName, Account is a controller name 
     {%> 

<input type="text" name="Message" onkeyup="textCounter(this,'counter',208)"/> 

<label><input disabled maxlength="3" size="3" value="208" id="counter" /></label> 

<input type="submit" value="Send" /> 
<%}%> 

Here
textCounter()函數在文本框中的按鍵事件將顯示標籤中的值,

提交按鈕提交表單,在控制器「帳戶」呼籲行動「指標」,見下文如何動作行爲

public class AccountController : Controller 
{ 
    [HttpPost] 
    public ActionResult index(FormCollection result) 
    { 
    string TextBoxValue=result["Message"]; 
    return view("yourviewname"); 
    } 
} 

我希望這個例子可以幫助你..