在我開始之前,我知道這不是好習慣,但想知道如何(如果有的話)可以在我的視圖中定義一個方法。如何在視圖中創建方法?
進出口使用C#在ASP.Net MVC
下似乎不工作:
decimal DoCalculation(IEnumerable<MyItems> items){
...
}
注:我不使用剃刀視圖引擎
在我開始之前,我知道這不是好習慣,但想知道如何(如果有的話)可以在我的視圖中定義一個方法。如何在視圖中創建方法?
進出口使用C#在ASP.Net MVC
下似乎不工作:
decimal DoCalculation(IEnumerable<MyItems> items){
...
}
注:我不使用剃刀視圖引擎
如果您正在使用Razor視圖引擎,你可以聲明inline functions
:
@functions {
public string DoCalculation(IEnumerable<MyItems> items) {
...
}
}
,或者也可以使用inline helpers
:
@helper DoCalculationAndOutputResult(IEnumerable<MyItems> items)
{
foreach (var item in items)
{
<div>@item.SomeValue</div>
}
}
如果你正在使用WebForms視圖引擎:
<script type="text/C#" runat="server">
public string DoCalculation(IEnumerable<MyItems> items) {
...
}
</script>
顯然在視圖中編寫C#代碼與不寫任何代碼一樣糟糕。值得一提的是其他人閱讀這些內容,以免他們和你犯同樣的錯誤。
可能的重複[如何在Razor中定義方法?](http://stackoverflow.com/questions/5159877/how-do-i-define-a-method-in-razor) –
你應該真的將此代碼放入模型中。這是針對MVC電流游泳的。 – Jon
http://blogs.msdn.com/b/timlee/archive/2010/07/30/using-functions-in-an-asp-net-page-with-razor-syntax.aspx – ken2k