-1

我有一个内容 VB 页面,我尝试在其中以编程方式更改 SqlDataSource 中的 Select。

我的代码:

<asp:Content ID="Content6" ContentPlaceHolderID="MainContent" Runat = "server"> 
<table width="630">
<tr> <td>
Dim Label2 As New Label()
Label2.Text = "Bro"
</td>

<td>

<asp:SqlDataSource ID="SqlDataSource2" runat="server" 
 ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
 SelectCommand="SELECT * FROM [Docs1] WHERE ([Type] = @Type)">
 <SelectParameters>
 <asp:ControlParameter Name="Type" 
 ControlID="Label2"
 PropertyName="Text" 
  />

 </SelectParameters>

 </asp:SqlDataSource>
 </td>
 <td>
 <asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False" 
 DataSourceID="SqlDataSource2" CellPadding="4" ForeColor="#333333" 
 GridLines="None"  Font-Names="Arial" 
 >

 <AlternatingRowStyle BackColor="White" Font-Size="XX-Small"  Font-Bold="False" 
 ForeColor="#284775" Font-Names="Times New Roman" Font-Underline="False" />

 <Columns>
  .......
 </asp:GridView>

SqlDataSource 没有得到 Label2.Text。我做错了什么?我必须在页面上多次更改选择参数(从“BLah1”到“Blah2”等),而无需用户进行任何操作,因此除了 page_Load 之外,没有按钮等,基本上没有事件。我想使用隐形标签并更改它们的文本,并以这种方式 - 更改选择。

4

1 回答 1

0

您还应该将标签添加到表单并设置其 ID 属性。IE

Dim Label2 As New Label()
Label2.ID = "Label2" 
Form.Controls.Add(Label2)
Label2.Text = "Bro"
于 2012-09-30T09:41:52.233 回答