如何在 asp.net-mvc 中的 html 文本框上设置禁用属性? [英] how do I set disabled attribute on html textbox in asp.net-mvc?

查看:15
本文介绍了如何在 asp.net-mvc 中的 html 文本框上设置禁用属性?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在 html 文本框上动态设置 disabled 属性并遇到问题

I am trying to dynamically set the disabled attribute on the html textbox and having issues

我认为这是我的尝试:

 string disabledString = "";
 if (SomeLogic)
 {
      disabledString = "disabled";
 }

 Html.Textbox()...new Dictionary<string, object> { { "maxlength", 50 }, { "disabled", readOnlyState } })%>

如您所见,我将 disabled 属性设置为 "" 或禁用,但是当我测试时,它似乎在任何一种情况下都被禁用.我错过了什么吗?

As you can see I am setting the disabled attribute to "" or disabled but when I test, it seems to be disabled in either case. Am I missing something?

推荐答案

这对我们来说很难看,因为这里的 HTML 规范很糟糕.

This was ugly for us, due to the fact that the HTML spec is lousy here.

基本上在我们的视图代码中,我们有一些这样的逻辑:

Basically in our view code we had some logic like this:

bool isPlatformOwner = false;

object disabledAttributes = new { @disabled="disabled", @readonly="readonly" };

//omitted code setting isPlatformOwner    

    if (isPlatformOwner)
    {
        disabledAttributes = new { };
    }

然后,对于我们的控件,我们有这样的:

Then, for our controls, we had this:

<%=Html.CheckBoxFor(f => f.AddToReleaseIndicator, disabledAttributes)%>

匿名类型在这里拯救了我们,但是,就像我说的,它有点难看.

Anonymous types saved us here, but, like I said, it got a little ugly.

这篇关于如何在 asp.net-mvc 中的 html 文本框上设置禁用属性?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆