,同样的形式更新的标签MVC 5按钮单击事件(MVC 5 button click event th

2019-10-20 05:30发布

使用MVC 5,是否有可能有在同一页面上更新标签的按钮单击事件?

举例来说,如果我有一个结构

@using (Html.BeginForm()) {
    <fieldset>
        <legend>Form</legend>
        <p>
            @Html.TextBox("textbox1")
        </p>
        <p>
            @Html.Label("label1")
        </p>
        <p>
            <input type="submit" value="Submit" />
        </p>
    </fieldset>
}

点击Submit按钮,抓住textbox1是根据当按钮被点击提交,然后更新标签作为结果的值被调用函数的值,修改?

假设我的控制器称为TestController.cs ,这是所有做Index

我注意到一些建议,包括使用AJAX(新的我)

Answer 1:

不一定需要使用AJAX这一点。 所有你需要做的是通过你的标签值回落为你的行动的结果如的一部分

调节器

public class TestController : Controller
{
    public ActionResult Index(string label)
    {
        // pass label value into view
        return View("Index", label ?? "");
    }

    [HttpPost]
    public ActionResult Index(string textValue)
    {
        // do something with textValue
        // redirect to our Index action passing the new label value
        return RedirectToAction("Index", textValue);
    }
}

视图

@model string

@using (Html.BeginForm()) {
    <fieldset>
    <legend>Form</legend>
    <p>
        @Html.TextBox("textbox1")
    </p>
    <p>
        @Html.Label("label", Model)
    </p>
    <p>
        <input type="submit" value="Submit" />
    </p>
    </fieldset>
}

这种方法的好处是它沿用了邮政/重定向/获取模式,所以如果你刷新页面就不会再次尝试重新提交表单。



Answer 2:

尝试这个 :

您CSHTML代码:

@using (Html.BeginForm()) {
    <fieldset>
        <legend>Form</legend>
        <p>
            <input type="text" id="textbox" name="textbox"/>
        </p>
        <p>
           <lable id ="lable"></lable>
        </p>
        <p>
            <input type="button" id="button" value="Submit" />
        </p>
    </fieldset>
}

jQuery的:

<script type="text/javascript">
$(document).ready(function(){
    $("#button").click(function(){
document.getElementById("lable").innerHTML = $("#textbox").val();
    });
});
</script>

演示:

http://jsfiddle.net/mgGj6/2/

希望它的作品...!

谢谢。



Answer 3:

你也可以使用Ajax通过做

@Ajax.BeginForm();

帮手。 这将是最终用户更舒适。



文章来源: MVC 5 button click event that updates a label on the same form