我的FormView不会使用DataBind。我没有错误,所有元素都被正确找到,当我单步执行代码时,一切看起来都像预期的那样工作。 select参数已设置,FormView为DataBound。
但是没有返回数据,我的数据库日志记录显示从未触及过应该是DataBound的过程。
更新面板
<asp:updatepanel ID="upnlMixingTankInfo" runat="server">
<ContentTemplate>
<asp:formview id="fvMixingTankInfo" runat="server" datasourceid="SqlDataSourceMixingTankInfo">
<ItemTemplate>
<asp:label runat="server">Vessel Capacity:</asp:label>
<asp:TextBox ID="vesselCapacity" runat="server" class="form-control" Text='<%# Bind("fldVesselCapacity")%>'></asp:TextBox>
</ItemTemplate>
</asp:formview>
</ContentTemplate>
代码背后:
SourceDropDownList = sender
upnlMixingTankInfo = CType(SourceDropDownList.Parent.FindControl("upnlMixingTankInfo"), UpdatePanel)
fvTankInfo = CTYPE(upnlMixingTankInfo.FindControl("fvMixingTankInfo"), FormView)
If Not IsNothing(SourceDropDownList.SelectedValue) Then
SqlDataSourceMixingTankInfo.SelectParameters.Add("TankName", DropDownListEquipmentList.SelectedValue)
End If
fvTankInfo.Databind()
SQLDATSOURCE:
<asp:SqlDataSource ID="SqlDataSourceMixingTankInfo" runat="server"
ConnectionString="<%$ ConnectionStrings:ZMConnectionString %>"
SelectCommand="EXEC stpWebGetMixTankCapacity @TankName" >
<SelectParameters>
<asp:Parameter Name="TankName" defaultvalue=""/>
</SelectParameters>
答案 0 :(得分:2)
SqlDataSource几乎没有变化,我已经使用自己的sp进行了测试,根据您的使用情况进行了修改。
UpdatePanel&amp; FormView的
this.setState({ uri: require('../images/test.jpg') })
Code Behind,我已经测试了加载,你可以在任何你想要的地方使用相同的代码。
<asp:UpdatePanel ID="upnlMixingTankInfo" runat="server">
<ContentTemplate>
<asp:FormView ID="fvMixingTankInfo" runat="server" DataSourceID="SqlDataSource1">
<ItemTemplate>
<asp:Label ID="Label1" runat="server">Vessel Capacity:</asp:Label>
<asp:TextBox ID="vesselCapacity" runat="server" class="form-control" Text='<%# Bind("Name")%>'></asp:TextBox>
</ItemTemplate>
</asp:FormView>
</ContentTemplate>
</asp:UpdatePanel>
带有更改的SqlDataSource:
protected void Page_Load(object sender, EventArgs e)
{
SqlDataSource1.SelectParameters.Add("Id", "10");
}
它运作完美,我在提交之前已经过测试。