c# - 在 ASP.NET MVC 3 中使用 HtmlHelper 在表单标签内嵌套多个标签和输入

标签 c# asp.net asp.net-mvc-3

如何在 ASP.NET MVC3 中使用 HtmlHelper 将多个标签和输入嵌套在表单标签内?

我的代码如下:

public static string GenerateFormForContact(this HtmlHelper helper, string method, string action, bool includeMailTag)
{
    //form tag
    TagBuilder form = new TagBuilder("form");
    form.Attributes.Add("action", action);
    form.Attributes.Add("method", method);

    //label and input tag

    TagBuilder labelClientName = new TagBuilder("label");
    labelClientName.Attributes.Add("for", "clientName");
    TagBuilder inputClientName = new TagBuilder("input");
    inputClientName.Attributes.Add("name", "clientName");
    inputClientName.Attributes.Add("type", "text");
    inputClientName.Attributes.Add("placeholder", "Your name");
    inputClientName.Attributes.Add("required", "required");

    //how to insert inside form

    TagBuilder labelEmailName = new TagBuilder("label");
    labelEmailName.Attributes.Add("for", "emailName");
    TagBuilder inputEmailName = new TagBuilder("input");
    inputEmailName.Attributes.Add("name", "emailName");
    inputEmailName.Attributes.Add("type", "email");
    inputEmailName.Attributes.Add("placeholder", "Your mail");
    inputEmailName.Attributes.Add("required", "required");

    //how to insert again inside form the second label and input

    //how to insert again inside form the n-th label and input 
    return form.ToString(TagRenderMode.Normal);
}

最佳答案

如果你想在已经创建的表单或任何其他 TagBuilder 使用 TagBuilder.InnerHtml像这样:

form.InnerHtml += labelEmailName.ToString();
form.InnerHtml += inputEmailName.ToString();

关于c# - 在 ASP.NET MVC 3 中使用 HtmlHelper 在表单标签内嵌套多个标签和输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9097348/

相关文章:

jquery - 如何防止使用 jQuery 提交表单?

c# - 使用 FFMPEG 流式传输 YouTube 音频的示例

c# - 如何将 C# 中的两个 docx word 文件与动态汇编进行比较?

c# - ObjectdataSource Inserting 事件没有触发?

c# - 类库中的 ASP.Net ASMX Web 服务(最佳实践)

asp.net-mvc - 根据 ASP.NET MVC 3 中的 Controller 和操作名称授权当前用户

c# - 注入(inject) Serilog 时出错 "Prism.DryIoc DryIoc.Microsoft.DependencyInjection6.0.0 "

c# - DataGrid Column Header with filter box 绑定(bind)错误

asp.net - LINQ to Entities 无法识别方法 'Int32 Last[Int32]

asp.net - 无法访问 Nancy 模块中的 ASP.NET session 对象