我在 Visual Studio 的 asp.net 中创建了一个 gridview。
我的 SqlDataSource1 中有一些控制参数来标识一些下拉列表,以便在我的 gridview 中进行编辑。我目前通过在浏览器中查看源代码,根据下拉列表的名称对“ControlID”属性进行了硬编码:
<UpdateParameters>
<asp:ControlParameter Name="origin"ControlID="GridView1$ctl02$DropDownList1" PropertyName="SelectedValue" />
<asp:ControlParameter Name="portofload" ControlID="GridView1$ctl02$DropDownList2" PropertyName="SelectedValue" />
<asp:ControlParameter Name="portofdischarge" ControlID="GridView1$ctl02$DropDownList3" PropertyName="SelectedValue" />
<asp:ControlParameter Name="vessel" ControlID="GridView1$ctl02$DropDownList4" PropertyName="SelectedValue" />
</UpdateParameters>
目前,它仅在我在 gridview 的第一行单击“编辑”时才有效,所有其他行都找不到该 ID(当然,因为我输入的值仅适用于第一行)。由于诸如“GridView1$ctl02$DropDownList1”之类的名称中的数字似乎以某种模式煽动,因此我想动态编辑 ControlID 字符串,使其实际上与单击“编辑”按钮的行相对应。我目前有一个变量根据按下编辑按钮时我所在的行生成,但我不知道如何动态更新相应 ControlParameter 的 ControlID 属性。
谢谢