gpt4 book ai didi

asp.net-mvc - 在 ASP.NET MVC 中使用 Html.EditorFor() 自定义类型

转载 作者:行者123 更新时间:2023-12-03 03:58:36 31 4
gpt4 key购买 nike

我的 ViewModel 有一个自定义类型 Money:

public class Money
{
public Money(decimal value)
{
Value = value;
}

public decimal Value { get; private set; }

public override string ToString()
{
return string.Format("{0:0.00}", Value);
}
}

我想通过 HTML.EditorFor(viewModel => viewModel.MyMoneyProperty) 在 ASP.NET MVC 中呈现一个文本框,但它不起作用。我必须在 Money 中实现一个特殊的接口(interface)吗?

提前致以最诚挚的问候和感谢,

史蒂芬

最佳答案

尝试这样:

public class Money
{
public Money(decimal value)
{
Value = value;
}

[DisplayFormat(DataFormatString = "{0:0.00}", ApplyFormatInEditMode = true)]
public decimal Value { get; private set; }
}

在您看来:

<%= Html.EditorFor(x => x.SomePropertyOfTypeMoney.Value) %>

或者您可以有一个 Money 的自定义编辑器模板 (~/Views/Shared/EditorTemplates/Money.ascx):

<%@ Control 
Language="C#"
Inherits="System.Web.Mvc.ViewUserControl<AppName.Models.Money>"
%>
<%= Html.TextBox("", Model.Value.ToString("0.00")) %>

然后在你看来:

<%= Html.EditorFor(x => x.SomePropertyOfTypeMoney) %>

关于asp.net-mvc - 在 ASP.NET MVC 中使用 Html.EditorFor() 自定义类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5095895/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com