MVC 4基于复选框检查显示/隐藏文本框

She*_*ryA 4 javascript asp.net-mvc

MVC的新手 - 从来都不是一个前端Web开发人员(主要是后端),所以我不太了解前端的优秀设计.现在,我正在尝试使用没有太多原始WebForm知识的MVC ......有人说,请给我一些关于如何处理以下内容的指针/链接/好主意:

我有一个文本框字段,我想根据复选框显示/隐藏.我在View @using(Html.BeginForm()中有这些字段......

我应该在javascript或控制器操作中更改文本框中的属性吗?如果我使用javascript,我很难找到我的beginform中的值,但是如果我使用控制器操作,我不知道在我的控制器操作中如何/传递给/从.

Win*_*Win 5

如果我想操纵DOM,我喜欢使用jQuery.

这里的例子 -

在此输入图像描述

视图

@using (Html.BeginForm())
{
    @Html.CheckBoxFor(model => model.MyBooleanValue)
    <br />
    @Html.TextBoxFor(model => model.MyTextValue)
    <br />
    <input type="submit" value="Submit" />
}

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
    $(function () {
        $("#MyBooleanValue").click(function () {
            if ($(this).is(':checked')) {
                $("#MyTextValue").show();
            }
            else {
                $("#MyTextValue").hide();
            }
        });
    });
</script>
Run Code Online (Sandbox Code Playgroud)

调节器

public class HomeController : Controller
{
    public ActionResult Index()
    {
        var model = new MyViewModel
        {
            MyBooleanValue = true
        };
        return View(model);
    }

    [HttpPost]
    public ActionResult Index(MyViewModel model)
    {
        if (model.MyBooleanValue)
        {
            string text = model.MyTextValue;
        }

        return View(model);
    }
}
Run Code Online (Sandbox Code Playgroud)

模型

public class MyViewModel
{
    public bool MyBooleanValue { get; set; }
    public string MyTextValue { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

仅供参考:我建议观看一些视频培训(ASP.NET MVC 5基础知识免费课程)或在开始之前阅读一两本书.否则,你会感到沮丧.