参数值不从后面的代码传递给数据源 [英] Parameter value not passing to datasource from code behind

查看:76
本文介绍了参数值不从后面的代码传递给数据源的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,

我有一个带有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 your Button Click event for you to verify it it hits there? If it hits, then step into your code and see the value of Session.

Second, when referencing a value from Session object make sure to check for null 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 passing Session value for your Select 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆