Member 12926744 Ответов: 2

Значение параметра не передается в источник данных из кода позади


Всем привет,
У меня есть gridview с selectcommand в качестве storedprocedure .Я хочу передать значение параметра SP из кода позади во время нажатия кнопки .Однако значение не передается.Любая помощь будет очень признательна.Заранее спасибо.

Что я уже пробовал:

<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();
       }

Alek Massey

Вы проверили, что значение сеанса возвращает то, что вы ожидаете?

2 Ответов

Рейтинг:
2

Vincent Maverick Durano

Во-первых, пробовали ли вы отлаживать свой код, устанавливая точку останова на вашем компьютере? Button Click событие для вас, чтобы убедиться, что оно попадает туда? Если он попадет, то войдите в свой код и посмотрите значение Session.

Во-вторых, при ссылке на значение из объекта сеанса обязательно проверьте наличие null во - первых, чтобы избежать неожиданной ошибки. Например:

if(Session["TENDER"] != null){
          string tende= Session["TENDER"].ToString();
          SqlDataSource2.SelectParameters["tnid"].DefaultValue = tende;
}


В-третьих, если вы проходите мимо Session ценность для вашего бизнеса Select команда, то вы можете попробовать использовать SessionParameter вместо. Например:

<selectparameters>
		<asp:sessionparameter name="ID" sessionfield="Tender" type="Int32" />
</selectparameters>


Рейтинг:
2

akash dhonde

https://www.aspsnippets.com/Articles/Bind-data-to-ASPNet-GridView-using-Stored-Procedure.aspx

Попробуйте это надеюсь ваша проблема будет решена с помощью этого