gpt4 book ai didi

c# - 如何在助手中使用 TextBoxFor?

转载 作者:太空宇宙 更新时间:2023-11-03 15:57:07 26 4
gpt4 key购买 nike

我在 razor 页面中有这段代码。

  @{ var countryCode = Model.CountryCode;}
@if (countryCode.Equals("CA") || countryCode.Equals("US"))
{
@Html.DropDownListFor(m => m.ProvState, Model.Provinces)
}
else
{
@Html.TextBoxFor(m => m.ProvState, Model.ProvState);
}

我在 LocatioHelper.cshtml 中写了这个助手

@helper RenderProvince(LocationModel model)
{
var countryCode = model.CountryCode;
if (countryCode.Equals("CA") || countryCode.Equals("US"))
{
@Html.DropDownListFor(model.ProvState, model.Provinces)
}
else
{
@Html.TextBoxFor(model.ProvState, model.ProvState);
}
}

我有一个错误,我必须明确指定 dropDownListFor 和 TextBoxFor 的类型,但在 View 中我没有指定类型。

如何将其移动到助手中?

最佳答案

根据我的意见,您可以将自定义帮助程序方法打包到一个静态类中,并将您的方法声明为 HtmlHelper<T>. 上的简单扩展方法。

public static class CustomHelper
{
public static MvcHtmlString YourCustomHelper<TModel, TValue> (
this HtmlHelper<TModel> htmlHelper,
Expression<Func<TModel, TValue>> expression ---- )
{
//Write your custom logic here.
}
}

您可以在您的 View 中导入此类,并使用 @Html.YourCustomHelper() 的常用语法使用此辅助方法。

希望这对您有所帮助。

编辑:如果您使用内联辅助方法,请仅在 View 中使用辅助方法。否则尝试创建一个外部 html 辅助方法,如上所示。

关于c# - 如何在助手中使用 TextBoxFor?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23154017/

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