Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 渲染<;输入类型=';提交'&燃气轮机;使用InnerHtml_C#_Asp.net_Webforms - Fatal编程技术网

C# 渲染<;输入类型=';提交'&燃气轮机;使用InnerHtml

C# 渲染<;输入类型=';提交'&燃气轮机;使用InnerHtml,c#,asp.net,webforms,C#,Asp.net,Webforms,我目前正在处理一个web表单项目,在代码隐藏中,我使用InnerHtml循环浏览项目列表以显示它 像这样的 email = v.DomainObjectFields.Where(t => t.FieldName == "Email Address").First().FieldValue; name = v.DomainObjectFields.Where(t => t.FieldName == "First Name").First().FieldValue

我目前正在处理一个web表单项目,在代码隐藏中,我使用InnerHtml循环浏览项目列表以显示它

像这样的

email = v.DomainObjectFields.Where(t => t.FieldName == "Email Address").First().FieldValue;
            name = v.DomainObjectFields.Where(t => t.FieldName == "First Name").First().FieldValue;
            familyName = v.DomainObjectFields.Where(t => t.FieldName == "Last Name").First().FieldValue;
            dateJoined = v.DomainObjectFields.Where(t => t.FieldName == "Date Joined").First().FieldValue;

            Users.InnerHtml += "<tr><td>";
            Users.InnerHtml += "<a href='UserDetail.aspx?username=" + email + "'>"+email+"</a>";
            Users.InnerHtml += "</td>";
            Users.InnerHtml += "<td>";
            Users.InnerHtml += name;
            Users.InnerHtml += "</td>";
            Users.InnerHtml += "<td>";
            Users.InnerHtml += familyName;
            Users.InnerHtml += "</td>";
            Users.InnerHtml += "<td>";
            Users.InnerHtml += dateJoined;
            Users.InnerHtml += "</td>";
            Users.InnerHtml += "<td>";
            **Users.InnerHtml += "<input type='button' id='butResetPassword' value='Resend Password'/>";**
            Users.InnerHtml += "</td>";
            Users.InnerHtml += "</tr>";

<div id="Users" runat="server">

</div>
email=v.DomainObjectFields.Where(t=>t.FieldName==“电子邮件地址”).First().FieldValue;
name=v.DomainObjectFields.Where(t=>t.FieldName==“First name”).First().FieldValue;
familyName=v.DomainObjectFields.Where(t=>t.FieldName==“Last Name”).First().FieldValue;
dateJoined=v.DomainObjectFields.Where(t=>t.FieldName==“Date Joined”).First().FieldValue;
Users.InnerHtml+=“”;
Users.InnerHtml+=“”;
Users.InnerHtml+=“”;
Users.InnerHtml+=“”;
Users.InnerHtml+=名称;
Users.InnerHtml+=“”;
Users.InnerHtml+=“”;
Users.InnerHtml+=familyName;
Users.InnerHtml+=“”;
Users.InnerHtml+=“”;
Users.InnerHtml+=dateJoined;
Users.InnerHtml+=“”;
Users.InnerHtml+=“”;
**Users.InnerHtml+=“”**
Users.InnerHtml+=“”;
Users.InnerHtml+=“”;

但是,该按钮没有渲染,我需要在网格显示中添加一个按钮。有没有一种方法可以像我现在这样添加一个按钮和一个处理程序?

我认为在下面没有正确创建href的地方存在问题

 Users.InnerHtml += "<a href='UserDetail.aspx?username=" + email + "'>"+email+"</a>";
Users.InnerHtml+=”;
尝试用替换此行来解决此问题

Users.InnerHtml += "<a href='UserDetail.aspx?username='" + email + "''>"+email+"</a>";
Users.InnerHtml+=”;

为什么不使用中继器或数据列表

protected void Page_Load(object sender, EventArgs e)
{
     rptUsers.DataSource = users;
     rptUsers.DataBind();
}

protected void rptUsers_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
      if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
      {
         User user = (User)e.Item.DataItem;
         Label email = (Label)e.Item.FindControl("email");
         Label name = (Label)e.Item.FindControl("name");
         Label familyname = (Label)e.Item.FindControl("familyname");
         Label datejoined = (Label)e.Item.FindControl("datejoined");

         email.Text = user.EmalAddress;
         name.Text = user.Name;
         familyname.Text = user.FamilyName;
         datejoined.Text = user.DateJoined.ToString();
      }
 }

 protected void btnSubmit_OnClick(object sender, EventArgs e)
 {
     //submit
 }
基本标记:

<asp:Repeater ID="rptUsers" runat="server" OnItemDataBound="rptUsers_OnItemDataBound">
   <ItemTemplate>
      <asp:Label id="email" runat="server" />
      <asp:Label id="name" runat="server" />
      <asp:Label id="familyname" runat="server" />
      <asp:Label id="datejoined" runat="server" />
   </ItemTemplate>
</asp:Repeater>

<asp:Button ID="btnSubmit" runat="server" OnClick="btnSubmit_OnClick" Text="Submit" />

它的设置方式基本相同,只是它可以为您呈现一个表,这似乎是您想要的

这种呈现是在表单元素中进行的吗?如果不是,这可能就是问题所在。此外,不显示table元素。将标记存储在StringBuilder中并只设置一次InnerHtml属性也会更有效。