gpt4 book ai didi

c# - 在 Controller 中调用方法

转载 作者:行者123 更新时间:2023-11-30 13:10:39 24 4
gpt4 key购买 nike

我是 ASP.NET MVC 3 的新手,但我有一个简单的问题。是否可以从 CSHTML (Razor) 页面调用 Controller 方法?

例子:

xxxControl.cs:

public String Bla(TestModel pModel)
{
return ...
}

index.cshtml:

@Bla(Model) <-- Error

谢谢。

更新:

谢谢@Nathan。以这种方式执行此操作不是一个好主意。目标是:我需要一些格式字符串用于模型的字段。但是我把返回格式化字符串的代码放在哪里呢?

最佳答案

View 调用位于 Controller 上的方法被认为是不好的做法。通常它是一个 Controller 操作,它填充模型并将该模型传递给 View 。如果您需要在此模型上进行一些格式化,您可以编写一个 HTML 帮助程序。

public static class HtmlExtensions
{
public static IHtmlString Bla(this HtmlHelper<TestModel> htmlHelper)
{
TestModel model = htmlHelper.ViewData.Model;
var value = string.Format("bla bla {0}", model.SomeProperty);
return MvcHtmlString.Create(value);
}
}

在你看来:

@Html.Bla()

关于c# - 在 Controller 中调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5960664/

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