如何在 Grid.Mvc 列中呈现 2 个控件

How to render 2 controls inside Grid.Mvc column

我需要在 Grid.Mvc 控件的每一行呈现标签和文本输入。 根据行类型,每一行都可以有不同的标签和控件。

我可以使用 htmlHelper 呈现 html 控件,但是我如何创建带有标签和文本输入的 div 控件?

这是我到目前为止的情况:

@Html.Grid(Model.WFMaster.Activities).Columns(columns =>
{     
   columns.Add().Titled("Parameter").Sanitized(false).Encoded(false).RenderValueAs(a =>
   {           
      if ...
         //Stuck here. I can't create an div and add controls to it.
          return Html.TextBox("value");        
   });
});

对于该输出,您可以使用接受 Ihtmlstring 的 RenderValueAs 重载。这是例子。

@Html.Grid(Model.WFMaster.Activities).Columns(columns =>
{     
   columns.Add().Titled("Parameter").Sanitized(false).Encoded(false).RenderValueAs(a =>
  new HtmlString
                       (
                         <div>
                         <input type="text" name="fname"><br>
                         <label for="lastname">Lastname</label>
                         </div>
                       )
);


});

样本: