相关疑难解决方法(0)

Html.EditorFor <>等同于查看只读数据?

我目前正在使用Html.EditorFor <>方法生成编辑器字段,但我想使用类似的东西以只读格式显示字段信息,例如详细信息页面,即带有字段名称后跟一个标签的标签带有字段值的标签.

目前在MVC中是否有任何等效的产生?或者我将不得不创建一个自定义助手?

提前致谢.

编辑:我知道DisplayFor和LabelFor,它只是手动必须组合这些?

c# asp.net asp.net-mvc html-helper

17
推荐指数
2
解决办法
4万
查看次数

ReadOnly属性在ASP.NET MVC模型中不起作用

我在模型类中将属性标记为只读,如下所示:

public class RegisterModel
{
    [Display(Name = "User name")]
    [ReadOnly(true)]
    public string UserName { get; set; }
    ...
}
Run Code Online (Sandbox Code Playgroud)

在我看来:

@Html.EditorFor(m => m.UserName)
Run Code Online (Sandbox Code Playgroud)

但是当我运行应用程序时,文本框不是只读的.

我知道我可以在视图中使用html属性使其只读,但我更喜欢这可以在模型类本身中完成.

可以实现吗?

asp.net-mvc attributes data-annotations

16
推荐指数
3
解决办法
2万
查看次数

ASP.NET MVC - 使用Model中的布尔值禁用Html Helper控件

我正在使用Html帮助器向页面输出文本框.我想根据模型中的布尔值是true还是false来动态添加disabled属性.

我的模型有一个返回布尔值的方法:

<% =Model.IsMyTextboxEnabled() %>
Run Code Online (Sandbox Code Playgroud)

我目前正在渲染文本框,如下所示,但我想现在启用或禁用它:

<% =Html.TextBox("MyTextbox", Model.MyValuenew { id = "MyTextbox", @class = "MyClass" })%>
Run Code Online (Sandbox Code Playgroud)

如果Model.IsMyTextboxEnabled()的返回值== true,我希望输出以下内容:

<input class="MyClass" id="MyTextbox" name="MyTextbox" type="text" value="" />
Run Code Online (Sandbox Code Playgroud)

如果它== false,我希望它输出为:

<input class="MyClass" id="MyTextbox" name="MyTextbox" type="text" value="" disabled />
Run Code Online (Sandbox Code Playgroud)

最干净的方法是什么?

html asp.net asp.net-mvc

13
推荐指数
1
解决办法
2万
查看次数

具有禁用输入的弹簧模型绑定

对于一个愚蠢的问题感到抱歉,但我无法完全理解会发生什么,如果这是我怀疑的问题,那么我真的很茫然。我正在使用弹簧靴+百里香叶+物化CSS来显示和验证表单。现在我在很多例子中没有遇到的是这种情况:

一些表单字段是预先填写的,对客户端来说应该被禁用,显示其预先填写的值。这种预填充发生在控制器中,而我处理其他一些请求,并重定向到该视图

我正在使用th:object这样将pojo绑定到表单

<form id="register_form" action="#" th:action="@{/showform}" th:object="${userInfo}" method="post">
 <div class="input-field">
   <label th:text="#{label.surname}" for="surname"></label>
   <input type="text" th:field="*{surname}" id="surname" th:attr="value=${userInfo.surname}" />
 </div>
 <div class="input-field">
   <label th:text="#{label.name}" for="givenname"></label>
   <input type="text" th:field="*{givenname}" id="givenname" th:attr="value=${userInfo.givenname}" disabled="disabled" />
 </div></form>
Run Code Online (Sandbox Code Playgroud)

并将其放入控制器的POST处理程序中,如下所示:

@RequestMapping(value = {"/showform"}, method = RequestMethod.POST)
public ModelAndView submitFormPage(@ModelAttribute("userInfo") @Valid UserInfo userInfo, 
      BindingResult bindingResult, RedirectAttributes redir) 
{      
  ModelAndView mview = new ModelAndView();

  if (bindingResult.hasErrors()) 
  {
     // show form again with error messages
     mview.addObject("userInfo", userInfo);
     mview.setViewName("/showform");
  }
  else 
  {
     // ...
  }

  return mview;
}
Run Code Online (Sandbox Code Playgroud)

出于其他一些原因,存在RedirectAttributes。如您所见,表单上有两个元素,第一个被启用,第二个被禁用。它们的值已正确填入POJO中的预填充值,然后通过ModelMap传递到视图。我也可以在GET处理程序中跟踪它。 …

spring materialize thymeleaf

0
推荐指数
1
解决办法
2444
查看次数