1.ToString()的问题
从DataSet中取得值明明是string类型的,为什么还要用ToString()去转换呢?//应该是ds.Tables[0].Rows[0]["Hos_State"].ToString
if (ds.Tables[0].Rows[0]["Hos_State"] == "正常" || ds.Tables[0].Rows[0]["Hos_State"] == "暂停")
{
btnclose.Enabled = true;
btnstart.Enabled = false;
}
else if (ds.Tables[0].Rows[0]["Hos_State"]== "冻结")
{
btnstart.Enabled = true;
btnclose.Enabled = false;
}
else
{
app.Alert(this, "出错了!");
dd1hos.SelectedIndex = 0;
}没用ToString()去转换,然后弹出“出错了!”提示。我想问到底为什么要用ToString,存进去的也是string类型啊?晕了2."DropDownList1.SelectedIndex=2;"这样的语句是不是不能出发:SelectedIndexChanded事件啊?判详细解答,谢谢
从DataSet中取得值明明是string类型的,为什么还要用ToString()去转换呢?//应该是ds.Tables[0].Rows[0]["Hos_State"].ToString
if (ds.Tables[0].Rows[0]["Hos_State"] == "正常" || ds.Tables[0].Rows[0]["Hos_State"] == "暂停")
{
btnclose.Enabled = true;
btnstart.Enabled = false;
}
else if (ds.Tables[0].Rows[0]["Hos_State"]== "冻结")
{
btnstart.Enabled = true;
btnclose.Enabled = false;
}
else
{
app.Alert(this, "出错了!");
dd1hos.SelectedIndex = 0;
}没用ToString()去转换,然后弹出“出错了!”提示。我想问到底为什么要用ToString,存进去的也是string类型啊?晕了2."DropDownList1.SelectedIndex=2;"这样的语句是不是不能出发:SelectedIndexChanded事件啊?判详细解答,谢谢
解决方案 »
- 在GridView中添加模版加个RadioButton控件..如何让它实现单选
- 在线等待解决阿,层中的按钮一旦按下其他控件就全没有哦 还有gridview行选择问题
- ,这几天正在学JQuery,VS2008对JQuery代码自动输入的支持不是很完美,于是就装VS90SP1-KB958502-x86,但就是装不上。。。。
- 登陆页面跳转后仍是登陆页面
- 如何实现主页面取得弹出页面的数据后局部刷新?
- 为什么我重启WIN2003 TEMP 权限中的NETWORK SERVICE
- 请教:在dos下用ping可以测试一个网址通与不通,请问能不能用C#写一个这样的程序,
- 字符串如何转换为整型,请帮忙
- Create Windows User Account
- 我在等啊,Panel.Width是什么类型的数据啊
- 有关水晶报表的问题
- sql server 作业怎么修改整个列呢
2 可以吧 BS记不清了 反正CS可以。。
2.会触发,因为他的事件激发设置是他的选项改变!
希望对你有用!
第2个问题是可以得.... 你自己做个测试就知道了
你得把AutoPostBack设置为true
因为你在更改DropDownList的SelectedIndex时候 页面没有回发.
所以服务器不知道 它的项目有所更改...那么当然无法触发事件了....
return this.GetType().ToString();
}
2:B/S中DropDownList的SelectedIndexChanded必需设置AutoPostBack为true,才能触发
能给我段你测试的代码吗?我的代码好像也没有错误啊
if (ds.Tables[0].Rows[0]["Hos_State"].ToString().Equals("正常"))
{}
SelectedIndexChanged 在当列表控件的选定项在信息发往服务器之间变化时发生。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DropDownList1.SelectedIndex = 0;
}
} protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
Response.Write("123");
}
LZ难道不行?
虽然string的用法很像值类型,但还是引用类型,这个不是装箱操作。不过10楼给的实现是object.ToString()的实现是默认的实现,返回object的类型名称,一般是没什么意义的。
事实上这个object.ToString()在很多类型里都被重写(overried)了,比如 object i = 12345;
Console.WriteLine(i.ToString()); //输出12345
Console.WriteLine(i.GetType().ToString()); //输出System.Int32
我是这个意思protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
btnstart.Visible = false; //初始化按钮状态
btnclose.Visible = false;
btnclose.Enabled = false;
btnstart.Enabled = false;
string sql = "select Hos_Name,Hos_ID from T_GH_Hospital";
dd1hos.DataSource = app.ExecuteDataSet(sql);
dd1hos.DataTextField = "Hos_Name";
dd1hos.DataValueField = "Hos_ID";
dd1hos.DataBind();
dd1hos.Items.Insert(0,new ListItem("-请选择-",""));
dd1hos.SelectedIndex = 0;
}
}
protected void dd1hos_SelectedIndexChanged(object sender, EventArgs e)
{
if (dd1hos.SelectedItem.Text.ToString() == "-请选择-")
{
btnstart.Visible = false; //设置按钮状态
btnclose.Visible = false;
btnclose.Enabled = false;
btnstart.Enabled = false;
}
else
{
btnstart.Visible = true;
btnclose.Visible = true; string sql = "select * from T_GH_Hospital where Hos_ID = "+Convert.ToInt32(dd1hos.SelectedValue);
DataSet ds = new DataSet();
ds = app.ExecuteDataSet(sql); if (ds.Tables[0].Rows[0]["Hos_State"].ToString() == "正常" || ds.Tables[0].Rows[0]["Hos_State"].ToString() == "暂停")
{
btnclose.Enabled = true;
btnstart.Enabled = false;
}
else if (ds.Tables[0].Rows[0]["Hos_State"].ToString() == "冻结")
{
btnstart.Enabled = true;
btnclose.Enabled = false;
}
else
{
app.Alert(this, "出错了!");
dd1hos.SelectedIndex = 0; //如果我不加下面四句话,那么不会进入“-请选择-”的那个 设置按钮状态 语句的
btnstart.Visible = false;
btnclose.Visible = false;
btnclose.Enabled = false;
btnstart.Enabled = false;
}
}
}