C# 如何在MVC razor视图中创建禁用的文本框

C# 如何在MVC razor视图中创建禁用的文本框,c#,jquery,asp.net-mvc-4,model-view-controller,C#,Jquery,Asp.net Mvc 4,Model View Controller,我想创建一个文本区域,它将在开始时被禁用或不可见。 有一个下拉列表,在选择最后一个选项即“其他”时,它应启用或使文本区域可见,并在提交时获取值并传递给控制器。使用 @Html.TextArea("Name", null, new { disabled="disabled" }) 给你: <div> @Html.TextArea("Name", null, new { disabled="true" }) @Html.DropDownList("sw

我想创建一个文本区域,它将在开始时被禁用或不可见。 有一个下拉列表,在选择最后一个选项即“其他”时,它应启用或使文本区域可见,并在提交时获取值并传递给控制器。

使用

@Html.TextArea("Name", null, new { disabled="disabled" })
给你:

<div> 
        @Html.TextArea("Name", null, new { disabled="true" })
        @Html.DropDownList("switch", new List<SelectListItem>() { 
    new SelectListItem(){Text="Enable", Value="Enable"},
    new SelectListItem(){Text="Disable", Value="Disable", Selected=true},
   })
    </div>

    <script>

 $(function ($) {

        var dropDown = $("#switch");
        var txtName = $("#Name");

        dropDown.change(function () {
            if (dropDown.val() === "Disable")
            {
                txtName.attr("disabled", true);
            }
            else {
                txtName.removeAttr("disabled");
            }
        })


    })(jQuery)



    </script>

@TextArea(“Name”,null,new{disabled=“true”})
@Html.DropDownList(“开关”,新列表(){
新建SelectListItem(){Text=“Enable”,Value=“Enable”},
新建SelectListItem(){Text=“Disable”,Value=“Disable”,Selected=true},
})
$(函数($){
var下拉菜单=$(“#开关”);
var txtName=$(“#Name”);
下拉列表。更改(函数(){
if(dropDown.val()=“禁用”)
{
txtName.attr(“禁用”,true);
}
否则{
txtName.removeAttr(“禁用”);
}
})
})(jQuery)
使用

给你:

<div> 
        @Html.TextArea("Name", null, new { disabled="true" })
        @Html.DropDownList("switch", new List<SelectListItem>() { 
    new SelectListItem(){Text="Enable", Value="Enable"},
    new SelectListItem(){Text="Disable", Value="Disable", Selected=true},
   })
    </div>

    <script>

 $(function ($) {

        var dropDown = $("#switch");
        var txtName = $("#Name");

        dropDown.change(function () {
            if (dropDown.val() === "Disable")
            {
                txtName.attr("disabled", true);
            }
            else {
                txtName.removeAttr("disabled");
            }
        })


    })(jQuery)



    </script>

@TextArea(“Name”,null,new{disabled=“true”})
@Html.DropDownList(“开关”,新列表(){
新建SelectListItem(){Text=“Enable”,Value=“Enable”},
新建SelectListItem(){Text=“Disable”,Value=“Disable”,Selected=true},
})
$(函数($){
var下拉菜单=$(“#开关”);
var txtName=$(“#Name”);
下拉列表。更改(函数(){
if(dropDown.val()=“禁用”)
{
txtName.attr(“禁用”,true);
}
否则{
txtName.removeAttr(“禁用”);
}
})
})(jQuery)

您应该隐藏文本区域,而不仅仅是禁用它。您可以做的是添加html:

@Html.TextArea("Text", null, new { @class="hiddenOptionArea", disabled="disabled" })
并应用该类:

hiddenOptionArea {
    display:none
}

此外,您最好使用@Html.EditorFor并为您的模型制作一个模板,这样您就可以在任何需要的地方重用Html—您可以在此处找到链接:

您应该隐藏文本区域,而不仅仅是禁用它。您可以做的是添加html:

@Html.TextArea("Text", null, new { @class="hiddenOptionArea", disabled="disabled" })
并应用该类:

hiddenOptionArea {
    display:none
}

另外,您最好使用@Html.EditorFor并为您的模型制作一个模板,这样您就可以在任何需要的地方重用您的Html-您可以在此处找到链接:

您应该尝试创建禁用的textArea

@Html.TextAreaFor(m => m.property, new { id = "txtId", disabled = "disabled" })

您应该尝试创建禁用的textArea

@Html.TextAreaFor(m => m.property, new { id = "txtId", disabled = "disabled" })

new{disabled=“true”}
new{disabled=“true”}
我想创建一个文本区域,它将在开始时被禁用或不可见。有一个下拉列表,在选择最后一个选项(即其他选项)时,它应该启用或使文本区域可见,并在提交时获取值并传递给控制器。我认为必须使用jquery,以便在选择带有text=“Other”的下拉列表选项时启用它。你能帮我解决这个问题吗?请提供一些代码,以便我能帮助你解决你的问题。你的html是什么?你需要多次使用这个吗?实施取决于您希望通过此实现什么;]我有一个下拉列表,其中有一些选项,如果用户想要的选项不在下拉选择中,我想启用他的文本框,以便用户可以输入他的选择。我想创建一个文本区域,该区域将在开始时被禁用或不可见。有一个下拉列表,在选择最后一个选项(即其他选项)时,它应该启用或使文本区域可见,并在提交时获取值并传递给控制器。我认为必须使用jquery,以便在选择带有text=“Other”的下拉列表选项时启用它。你能帮我解决这个问题吗?请提供一些代码,以便我能帮助你解决你的问题。你的html是什么?你需要多次使用这个吗?实施取决于您希望通过此实现什么;]我有一个下拉列表,其中有一些选项,如果用户想要的选项不在下拉选择中,我想启用他的文本框,以便用户可以输入他的选择。我想创建一个文本区域,该区域将在开始时被禁用或不可见。有一个下拉列表,在选择最后一个选项(即其他选项)时,它应该启用或使文本区域可见,并在提交时获取值并传递给控制器。我认为必须使用jquery,以便在选择带有text=“Other”的下拉列表选项时启用它。你能帮我一下吗?你添加了jquery吗???将它添加到标签
。在我的项目it工作时,我忘了添加jquery。。现在它开始工作了。。Thankx:-)我可以隐藏除最后一个选项之外的所有其他选择的文本框吗?您可以添加许多有值的项,并在jquery中根据它们的值选择它们必须执行的操作。我想创建一个文本区域,它将在开始时被禁用或不可见。有一个下拉列表,在选择最后一个选项(即其他选项)时,它应该启用或使文本区域可见,并在提交时获取值并传递给控制器。我认为必须使用jquery,以便在选择带有text=“Other”的下拉列表选项时启用它。你能帮我一下吗?你添加了jquery吗???将它添加到标签
。在我的项目it工作时,我忘了添加jquery。。现在它开始工作了。。Thankx:-)我可以隐藏除最后一个选项之外的所有其他选择的文本框吗?您可以添加许多有值的项,并在jquery中根据它们的值选择它们必须执行的操作。