|
分類:[ASP.NET (C#)]
オートコンプリートをする為に、以下のように組んでみたのですが、 Session変数を扱えないようで困っています。
Session["工場id"]の値を使用したいのですが、このような場合は どうやって引渡すのでしょうか?
何か方法があれば、よろしくお願いします。
※STOREDが投稿できなかったのでこの部分は全角にしました。
<asp:TextBox ID="設備idTextBox" runat="server" CssClass="inputFieldNum" MaxLength="10" AutoPostBack="true" Text='<%# Bind("設備id") %>' />
<cc1:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server" ServiceMethod="GetCompletionList" ServicePath="AutoCompleteSetsubi.asmx" TargetControlID="設備idTextBox" UseContextKey="True" MinimumPrefixLength="2"> </cc1:AutoCompleteExtender>
public class AutoCompleteSetsubi : System.Web.Services.WebService {
[WebMethod()] public String[] GetCompletionList(String prefixText, int count) { List<String> list = new List<String>(); ConnectionStringSettings setting = ConfigurationManager.ConnectionStrings["ConnectionStringEstimaDB"];
using (SqlConnection con = new SqlConnection(setting.ConnectionString)) { using (SqlCommand cmd = new SqlCommand("sp_paramSetsubiForAutoComp")) { cmd.CommandType = CommandType. STOREDProcedure; cmd.Parameters.Add("@設備id", SqlDbType.VarChar); cmd.Parameters["@設備id"].Value = prefixText; cmd.Parameters.Add("@工場id", SqlDbType.VarChar); cmd.Parameters["@工場id"].Value = Session["工場id"].ToString(); cmd.Connection = con; con.Open(); using (SqlDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { list.Add(reader.GetString(0)); } } } } return list.ToArray(); }
|