こんにちは 基本的に、mapXtreme ワークスペースに 2 つのテーブルがあります。1 つは、都市の都市名とプレート番号です。そしてもう一つは、市の地区名とプレート番号が書かれています。私の Web ページには、2 つのドロップダウン リストと 1 つのボタンがあります。
最初のドロップダウン リストに都市名を表示できます。私がしようとしているのは、最初のリストから都市を選択してボタンをクリックした後、選択した都市の地区を表示することです。どうすればこれを達成できますか?
これは、実行しようとしたときにブラウザに表示されるコードとエラーメッセージの更新されたバージョンです
:
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
/*******************************************/
using System.Data;
using System.Configuration;
using System.Web.Security;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using MapInfo.Data;
using MapInfo.WebControls;
using ApplicationStateManager;
public partial class myWebForm : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (StateManager.IsManualState())
{
// If the StateManager doesn't exist in the session put it else get it.
if (StateManager.GetStateManagerFromSession() == null)
{
//instanciate AppStateManager class
AppStateManager myStateManager = new AppStateManager();
//put state manager to session
StateManager.PutStateManagerInSession(myStateManager);
//put current map alias to state manager dictionary
myStateManager.ParamsDictionary[StateManager.ActiveMapAliasKey] = this.MapControl1.MapAlias;
}
// Now Restore State
StateManager.GetStateManagerFromSession().RestoreState();
}
string myQuery = "SELECT cityName FROM CITIES";
MIConnection myConnection = new MIConnection();
MICommand myCommand = new MICommand(myQuery,myConnection);
myConnection.Open();
MIDataReader myReader = myCommand.ExecuteReader();
DropDownList1.Items.Clear();
while (myReader.Read()) {
DropDownList1.Items.Add(new ListItem(
myReader["cityName"].ToString()));
}
myConnection.Close();
myReader.Close();
}
protected void Button1_Click(object sender, EventArgs e)
{
TextBox1.Text = DropDownList1.Text;
string cityPlateNumber = "SELECT plateNo from CITIES where cityName = \' " + DropDownList1.Text + " \'";
string cityNo;
MIConnection connect_cityPlateNumber = new MIConnection();
MICommand command_cityPlateNumber = new MICommand(cityPlateNumber, connect_cityPlateNumber);
connect_cityPlateNumber.Open();
MIDataReader reader_cityPlateNumber = command_cityPlateNumber.ExecuteReader();
cityNo = reader_cityPlateNumber["plateNo"].ToString();
string myQuery2 = "SELECT IlceAdi from ILCELER WHERE plateNo = \' " + cityNo + " \'";
connect_cityPlateNumber.Close();
reader_cityPlateNumber.Close();
MIConnection connectIlce = new MIConnection();
MICommand commandIlce = new MICommand(myQuery2, connectIlce);
connectIlce.Open();
MIDataReader readerIlce = commandIlce.ExecuteReader();
DropDownList2.Items.Clear();
while (readerIlce.Read())
{
DropDownList2.Items.Add(new ListItem(
readerIlce["IlceAdi"].ToString()));
}
connectIlce.Close();
readerIlce.Close();
}
// At the time of unloading the page, save the state
private void Page_UnLoad(object sender, System.EventArgs e)
{
if (StateManager.IsManualState())
{
StateManager.GetStateManagerFromSession().SaveState();
}
}
protected void Button2_Click(object sender, EventArgs e)
{
}
}