未绑定的DetailsView不在ASP.NET/VB.NET中显示
||
在我正在创建的这个项目中,我正在创建一个页面的模型,该页面使用似乎适合我需求的DetailView(我在博客中看到的东西)。但是,我不想将数据绑定到任何东西。
因此,我添加了控件,然后开始向其中添加适当的模型列,并尝试在测试页上呈现该控件。 ASP.NET应该生成HTML的地方不存在。
这是我的代码(有一个\'real \'DetailsView控件,然后是一个按钮,然后是一个空白的测试Details视图控件):
<asp:DetailsView ID=\"DetailsView1\" runat=\"server\"
Height=\"184px\" Width=\"271px\" EmptyDataText=\"no data\"
style=\"margin-right: 1px\">
<EmptyDataTemplate>
There is no data.
</EmptyDataTemplate>
<FooterTemplate>
Passenger Details
</FooterTemplate>
<Fields>
<asp:TemplateField HeaderText=\"Name\" SortExpression=\"Name\">
<EditItemTemplate>
<asp:TextBox ID=\"TextBox1\" runat=\"server\" Text=\'<%# Bind(\"PassengerName\") %>\'></asp:TextBox>
</EditItemTemplate>
<InsertItemTemplate>
<asp:TextBox ID=\"TextBox1\" runat=\"server\" Text=\'<%# Bind(\"PassengerName\") %>\'></asp:TextBox>
<asp:RequiredFieldValidator ID=\"RequiredFieldValidator1\" runat=\"server\"
ErrorMessage=\"this field must be filled in \" ControlToValidate=\"TextBox1\"></asp:RequiredFieldValidator>
<br />
<br />
<br />
</InsertItemTemplate>
<ItemTemplate>
<asp:Label ID=\"Label1\" runat=\"server\" Text=\'<%# Bind(\"PassengerName\") %>\'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText=\"Address\">
<EditItemTemplate>
<asp:TextBox ID=\"TextBox2\" runat=\"server\"></asp:TextBox>
</EditItemTemplate>
<InsertItemTemplate>
<asp:TextBox ID=\"TextBox2\" runat=\"server\"></asp:TextBox>
<asp:RequiredFieldValidator ID=\"RequiredFieldValidator2\" runat=\"server\"
ErrorMessage=\"this field must be filled in \" ControlToValidate=\"TextBox2\"></asp:RequiredFieldValidator>
</InsertItemTemplate>
<ItemTemplate>
<asp:Label ID=\"Label2\" runat=\"server\"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText=\"Phone\">
<EditItemTemplate>
<asp:TextBox ID=\"TextBox3\" runat=\"server\"></asp:TextBox>
</EditItemTemplate>
<InsertItemTemplate>
<asp:TextBox ID=\"TextBox3\" runat=\"server\"></asp:TextBox>
<asp:RequiredFieldValidator ID=\"RequiredFieldValidator3\" runat=\"server\"
ControlToValidate=\"TextBox3\" ErrorMessage=\"this field must be filled in \"></asp:RequiredFieldValidator>
</InsertItemTemplate>
<ItemTemplate>
<asp:Label ID=\"Label3\" runat=\"server\"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText=\"Frequent Flyer Number\">
<EditItemTemplate>
<asp:TextBox ID=\"TextBox4\" runat=\"server\"></asp:TextBox>
</EditItemTemplate>
<InsertItemTemplate>
<asp:TextBox ID=\"TextBox4\" runat=\"server\"></asp:TextBox>
<asp:RequiredFieldValidator ID=\"RequiredFieldValidator4\" runat=\"server\"
ControlToValidate=\"TextBox4\" ErrorMessage=\"this field must be filled in \"></asp:RequiredFieldValidator>
</InsertItemTemplate>
<ItemTemplate>
<asp:Label ID=\"Label4\" runat=\"server\"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText=\"Hello, World.\" />
</Fields>
<HeaderTemplate>
Passenger Details
</HeaderTemplate>
</asp:DetailsView>
<asp:Button ID=\"btnPay\" runat=\"server\" Text=\"Payment page\" />
<br />
<asp:DetailsView ID=\"DetailsView2\" runat=\"server\"
Height=\"184px\" Width=\"271px\" EmptyDataText=\"no data\"
style=\"margin-right: 1px\">
<EmptyDataTemplate>
There is no data.
</EmptyDataTemplate>
<FooterTemplate>
Passenger Details
</FooterTemplate>
<HeaderTemplate>
Passenger Details
</HeaderTemplate>
</asp:DetailsView>
这是生成的内容:
<div>
</div>
<div>
</div>
<input type=\"submit\" name=\"btnPay\" value=\"Payment page\" id=\"btnPay\" />
<br />
<div>
</div>
<br />
有人有什么想法吗?在这种环境下,我们也使用Visual Studio 2008。
没有找到相关结果
已邀请:
2 个回复
很缴
此外,如果设置了CommandName,ButtonFields将生成ItemCommand事件。 您可以使用IsPostBack或其他逻辑来确保当您不想丢失视图状态时不使用DataBind。如果要响应ItemCommand事件并在详细信息视图中使用任何控件的值,则需要使用viewstate。 DataBind将其吹走。
古擅坛犯
但是如果他通过c#端添加以下代码
生成以下内容