在MVC中实现UpdatePanel功能

时间:2013-04-26 11:14:07

标签: asp.net-mvc updatepanel

我在Label上获得了TextboxButtonPage

Textbox中输入值时,我想在Label上显示某些内容。 Button也获取该信息并运行一些代码。

在ASP.NET中,我只是在这三个控件周围添加一个Ajax UpdatePanel,在TextBox上添加两个事件。 TextChangeButton.Click并对Postback做出反应。

我如何在MVC中执行此操作?

1 个答案:

答案 0 :(得分:1)

MVC和webforms的生命周期都不同。 MVC不是关于服务器控件.... viewstate ...没有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" />  
<%}%>

下面
textbox中的keyup事件的textCounter()函数将在label中显示值

提交按钮将提交表单,在控制器“帐户”上调用操作“索引”,请参阅下面的操作行为

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

我希望这个例子可以帮助你..