代码之家  ›  专栏  ›  技术社区  ›  H4mm3rHead

ASP.NET MVC:在我的视图的其他字段中设置值,如何设置?

  •  0
  • H4mm3rHead  · 技术社区  · 15 年前

    我有一个视图,用户可以在其中更改一些设置,它基本上是一个“编辑”页面。当用户检查无线电组中的特定值时,我设置了一个隐藏字段(它是一个不可见的输入类型=文本字段),但当我加载页面时,我希望从代码中设置该隐藏字段。怎么做?jQuery?或者我能“找到控制”吗?

    这是“隐藏”字段:

    <div style="display: none">
    <input type="text" name="HiddenImageId" id="HiddenImageId" value="" />
    </div>
    

    上面的隐藏字段是通过单击单选按钮时执行的jquery设置的。但是当我以“编辑”模式加载时,我希望自己设置“隐藏”字段。

    再往下看,我加载所有的单选按钮:

    <% if (file.Id == imageFile.Id)
       { %>
            <input type="radio" checked="checked" name="filename" class="filename" id="<%= file.Id.ToString()%>" />
    <% }
       else
       { %>
            <input type="radio" name="filename" class="filename" id="<%= file.Id.ToString()%>" />
     <%} %>
    

    当我设置选中的属性时,我想将隐藏的小提琴的值设置为文件ID。

    3 回复  |  直到 13 年前
        1
  •  1
  •   Tomas Aschan    15 年前

    更好地利用ASP.NET MVC中的[HTML助手]可能会使您受益匪浅。

    例如,您可以这样输出“隐藏”文本输入:

    <%= Html.TextBox("HiddenImageId", imageFile.Id) %>
    

    如果 imageFile 可以为空,您可能需要添加一个检查-如果要使其看起来更漂亮,请使用速记:

    <%= Html.TextBox("HiddenImageId", imageFile != null ? imageFile.Id : "") %>
    

    您还可以通过使用 Html.RadioButton

        2
  •  1
  •   Andrew Bullock    15 年前

    就像你一样

    id="<%= file.Id.ToString()%>"
    

    你可以做到

    <input type="text" name="HiddenImageId" id="HiddenImageId" value="<%= file.Id.ToString()%>" />
    

    或者不管代码是什么都能得到你的价值

        3
  •  1
  •   tvanfosson    15 年前

    我建议在这两种情况下都使用htmlhelper扩展。

    <div style="display: none">
       <%= Html.TextBox( "HiddenImageId",
                         file.Id == imageFile.Id ? file.Id.ToString() : "" ) %>
    </div>
    
    <%= Html.RadioButton( "filename",
                          "",
                          file.Id == imageFile.Id,
                          new { @class = "filename", id = file.Id.ToString() } ) %>
    

    或者,如果要使用隐藏输入,请跳过不可见的DIV,然后使用

    <%= Html.Hidden( "HiddenImageId", 
                     file.Id == imageFile.Id ? file.Id.ToString() : "" ) %>