页面里有两个DropDownList,第二个是在第一个PostBack后通过第一个的值来搜索数据库取得的,问题就在这里,我要对其中的值转换输出,如1-中国,2-美国这样。
请问这个转换的函数要放在哪里,是在前台界面还是在后台页面,我两者都试了,不行,可能方法不对
下面是一些代码:
<asp:DropDownList ID="MainNameList" AutoPostBack="True" Runat="server" />
<asp:DropDownList ID="QuestList" Width="200" Runat="server" />string MainName = MainNameList.SelectedValue;
string mysqlConnectionString = ConfigurationSettings.AppSettings["MysqlConnection"];
OdbcConnection mysqlConnection = new OdbcConnection(mysqlConnectionString);
string mysqlCommandString = "SELECT QuestIndex,ScriptQuestIndex FROM pos_quest WHERE MainName='"+MainName+"' AND ScriptQuestIndex<>0 AND QuestType=2";
OdbcDataAdapter mysqlCommand = new OdbcDataAdapter(mysqlCommandString,mysqlConnection);
DataSet mysqlDS = new DataSet();
mysqlCommand.Fill(mysqlDS,"Quest");
QuestList.DataSource = mysqlDS.Tables["Quest"].DefaultView;
QuestList.DataValueField = "QuestIndex";
QuestList.DataTextField = "ScriptQuestIndex";
QuestList.DataBind();
还有一个转换函数:
public string ShowQuest(string scriptQuestIndex)
{
string QuestDescription = "";
//讀取任務列表
FileStream fs = new FileStream(Server.MapPath("task.ini"),FileMode.Open,FileAccess.Read,FileShare.ReadWrite);
StreamReader sr = new StreamReader(fs);
string questInfo;
string[] questItems;
char split = '\t';
while(sr.Peek() >= 0)
{
questInfo = sr.ReadLine();
if(questInfo.Length > 0)
{
if(questInfo.Substring(0,1) != ";")
{
questItems = questInfo.Split(split);
if(questItems[0] == scriptQuestIndex)
{
QuestDescription = questItems[1];
}
}
}
}
if(QuestDescription == "")
{
QuestDescription = scriptQuestIndex;
}
return QuestDescription;
//--End--
}
请问这个转换的函数要放在哪里,是在前台界面还是在后台页面,我两者都试了,不行,可能方法不对
下面是一些代码:
<asp:DropDownList ID="MainNameList" AutoPostBack="True" Runat="server" />
<asp:DropDownList ID="QuestList" Width="200" Runat="server" />string MainName = MainNameList.SelectedValue;
string mysqlConnectionString = ConfigurationSettings.AppSettings["MysqlConnection"];
OdbcConnection mysqlConnection = new OdbcConnection(mysqlConnectionString);
string mysqlCommandString = "SELECT QuestIndex,ScriptQuestIndex FROM pos_quest WHERE MainName='"+MainName+"' AND ScriptQuestIndex<>0 AND QuestType=2";
OdbcDataAdapter mysqlCommand = new OdbcDataAdapter(mysqlCommandString,mysqlConnection);
DataSet mysqlDS = new DataSet();
mysqlCommand.Fill(mysqlDS,"Quest");
QuestList.DataSource = mysqlDS.Tables["Quest"].DefaultView;
QuestList.DataValueField = "QuestIndex";
QuestList.DataTextField = "ScriptQuestIndex";
QuestList.DataBind();
还有一个转换函数:
public string ShowQuest(string scriptQuestIndex)
{
string QuestDescription = "";
//讀取任務列表
FileStream fs = new FileStream(Server.MapPath("task.ini"),FileMode.Open,FileAccess.Read,FileShare.ReadWrite);
StreamReader sr = new StreamReader(fs);
string questInfo;
string[] questItems;
char split = '\t';
while(sr.Peek() >= 0)
{
questInfo = sr.ReadLine();
if(questInfo.Length > 0)
{
if(questInfo.Substring(0,1) != ";")
{
questItems = questInfo.Split(split);
if(questItems[0] == scriptQuestIndex)
{
QuestDescription = questItems[1];
}
}
}
}
if(QuestDescription == "")
{
QuestDescription = scriptQuestIndex;
}
return QuestDescription;
//--End--
}
请看,设置了,如果我不用那个转换函数,是正常的
那个函数本身也是没有问题的
string MainName = MainNameList.SelectedValue;
string mysqlConnectionString = ConfigurationSettings.AppSettings["MysqlConnection"];
OdbcConnection mysqlConnection = new OdbcConnection(mysqlConnectionString);
string mysqlCommandString = "SELECT QuestIndex,ScriptQuestIndex FROM pos_quest WHERE MainName='"+MainName+"' AND ScriptQuestIndex<>0 AND QuestType=2";
OdbcDataAdapter mysqlCommand = new OdbcDataAdapter(mysqlCommandString,mysqlConnection);
DataSet mysqlDS = new DataSet();
mysqlCommand.Fill(mysqlDS,"Quest");
QuestList.DataSource = mysqlDS.Tables["Quest"].DefaultView;
QuestList.DataValueField = "QuestIndex";
QuestList.DataTextField = "ScriptQuestIndex";
QuestList.DataBind();这一段了,现在的问题是在显示上,就是把DataTextField 里的值通过ShowQuest这个函数转换输出。
QuestList.Items.Add(new ListItem(text,value));