我还是MVC的新手,我正在试图弄清楚如何创建在.cshtml文件中生成的函数,并将它们移到中心位置,以便可以重用它们。
例如,使用DevExpress库创建网格和弹出窗口。这是网格的列定义:
settings.Columns.Add( column => {
column.ColumnType = MVCxGridViewColumnType.TextBox;
column.Caption = "Samples";
column.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
column.CellStyle.HorizontalAlign = HorizontalAlign.Center;
column.SetDataItemTemplateContent( Content => ViewContext.Writer.Write(
GeneratePopup( "Samples"
, DataBinder.Eval( Content.DataItem , "SampleHTML" ).ToString()
, "Samp" + DataBinder.Eval( Content.DataItem , "Row" ).ToString()
, (bool)DataBinder.Eval( Content.DataItem , "ShowSample" ) , 750 , (string)DataBinder.Eval( Content.DataItem , "SampleCount" ) )
) );
} );
在其中调用“GeneratePopup”,该文件在.cshtml文件中定义为:
@functions {
private string GeneratePopup(string aTitle , string aString , string aID , bool aShow , int aWidth , string aSuffix ) {
效果很好。除此之外,其中有许多功能我想以其他形式重用,我不想在整个地方复制GeneratePopup。
如何创建GeneratePopup的中央可重用版本?
答案 0 :(得分:5)
您应该将帮助程序移动到App_Code
目录中的单独CSHTML文件
然后,您可以从任何视图将其称为静态方法。