参数值不从后面的代码传递给数据源 [英] Parameter value not passing to datasource from code behind
本文介绍了参数值不从后面的代码传递给数据源的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
大家好,
我有一个带有selectcommand的gridview作为storedprocedure。我想在按钮点击期间从后面的代码传递参数值。但是值没有通过。任何帮助都将是非常感谢。谢谢。
我尝试过:
< asp:SqlDataSource ID =SqlDataSource2runat =serverConnectionString =<%$ ConnectionStrings:EMPYHT_ConnectionString%>
SelectCommand =SPGETNAMESSelectCommandType =StoredProcedure>< SelectParameters>
< asp:参数名称=tnidType =StringDefaultValue =/>
< / SelectParameters>
< / asp:SqlDataSource>
protected void but_mep_Click(object sender,EventArgs e )
{
string tende = Session [TENDER]。ToString();
SqlDataSource2.SelectParameters [tnid]。DefaultValue = tende;
grd_tendermedicineslist.DataBind();
upnl_editquo.Update();
}
解决方案
ConnectionStrings:EMPYHT_ConnectionString%>
SelectCommand =SPGETNAMESSelectCommandType =StoredProcedure>< SelectParameters>
< asp:参数名称=tnidType =StringDefaultValue =/>
< / SelectParameters>
< ; / asp:SqlDataSource>
protected void but_mep_Click (对象发送者,EventArgs e)
{
string tende = Session [TENDER]。ToString();
SqlDataSource2.SelectParameters [tnid]。DefaultValue = tende;
grd_tendermedicineslist.DataBind();
upnl_editquo.Update();
}
首先,你试过吗?通过在按钮设置断点来调试代码
点击
事件以验证它是否在那里命中?如果是点击,然后进入你的代码并看到Session 的值
。
其次,当引用Session对象的值时,一定要检查null
首先要避免意外错误。例如:
if (会话[ TENDER]!= null ){
string tende =会话[ TENDER ]的ToString();
SqlDataSource2.SelectParameters [ tnid]。DefaultValue = tende;
}
第三,如果您传递会话
值您的选择
命令,然后您可以尝试使用 SessionParameter 。例如:
< selectparameters >
< asp:sessionparameter name = ID sessionfield = 招标 类型 = Int32 / >
< / selectparameters > 跨度>
https://www.aspsnippets.com/Articles/Bind-data-to-ASPNet-GridView-using-Stored-Procedure.aspx
试试希望你的问题能解决这个问题
Hi all,
I have a gridview with selectcommand as storedprocedure .I want to pass a parameter value to SP from code behind during a buttonclick .However the value is not passing.Any help will be really appreciated.Thanks in advance.
What I have tried:
<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:EMPYHT_ConnectionString %>" SelectCommand="SPGETNAMES" SelectCommandType="StoredProcedure"><SelectParameters> <asp:Parameter Name="tnid" Type="String" DefaultValue="" /> </SelectParameters> </asp:SqlDataSource>
protected void but_mep_Click(object sender, EventArgs e) { string tende=Session["TENDER"].ToString(); SqlDataSource2.SelectParameters["tnid"].DefaultValue = tende; grd_tendermedicineslist.DataBind(); upnl_editquo.Update(); }
解决方案
ConnectionStrings:EMPYHT_ConnectionString %>" SelectCommand="SPGETNAMES" SelectCommandType="StoredProcedure"><SelectParameters> <asp:Parameter Name="tnid" Type="String" DefaultValue="" /> </SelectParameters> </asp:SqlDataSource>
protected void but_mep_Click(object sender, EventArgs e) { string tende=Session["TENDER"].ToString(); SqlDataSource2.SelectParameters["tnid"].DefaultValue = tende; grd_tendermedicineslist.DataBind(); upnl_editquo.Update(); }
First off, have you tried debugging your code by setting a break point at yourButton
Click
event for you to verify it it hits there? If it hits, then step into your code and see the value ofSession
.
Second, when referencing a value from Session object make sure to check fornull
first to avoid unexpected error. For example:
if(Session["TENDER"] != null){ string tende= Session["TENDER"].ToString(); SqlDataSource2.SelectParameters["tnid"].DefaultValue = tende; }
Third, if you are passingSession
value for yourSelect
command, then you can try using the SessionParameter instead. For example:
<selectparameters> <asp:sessionparameter name="ID" sessionfield="Tender" type="Int32" /> </selectparameters>
https://www.aspsnippets.com/Articles/Bind-data-to-ASPNet-GridView-using-Stored-Procedure.aspx
Try this hope your problem will be solved with this
这篇关于参数值不从后面的代码传递给数据源的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文