MVC 4根据复选框检查来显示/隐藏文本框

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

我有一个基于复选框显示/隐藏的文本框字段。 我在View中使用这些字段@using(Html.BeginForm()...

我应该更改JavaScript或控制器操作中文本框的属性吗? 如果我使用javascript,我很难在beginform中获得值,但是如果我使用控制器操作,我不确定在控制器操作中如何/从哪里传入。


如果我想操作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>

调节器

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);
    }
}

模型

public class MyViewModel
{
    public bool MyBooleanValue { get; set; }
    public string MyTextValue { get; set; }
}

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


任何你在视图上改变的东西(前端UI操作)都应该用Javascript来完成,除非你从数据库中获取或设置一些数据。 在这种情况下,它看起来像它没有数据操作,所以它纯粹的JavaScript UI操作

你想要做的是给你的文本框和你的输入一个类或ID,以便您可以访问它们与JavaScript。 然后使用它,您可以决定复选框是否被选中/取消选中以隐藏/取消隐藏文本框

这里有一些有用的链接让你开始:

检查复选框是否勾选javascript

检查复选框是否使用jQuery进行检查

jquery - 显示复选框选中时的文本框

如果勾选复选框,如何隐藏和显示项目

通常,您将访问您的服务器(控制器),主要用于将视图中的数据保存到数据库中,或从数据库中检索数据以显示在您的视图中。

在Html助手前设置ID。 @Html.TextBoxFor你需要以下内容:

@Html.TextBoxFor(x => x.property, new { @id = "someId" }

如果你想要其他的html属性:

@Html.TextBoxFor(x => x.property, new { @id = "someId", @class="someClass" }

链接地址: http://www.djcxy.com/p/55989.html

上一篇: MVC 4 display/hide a textbox based on a checkbox check

下一篇: get value of a checked bootstrap checkbox