代码是这么写的:
<EditItemTemplate>
<asp:DropDownList Runat="server" ID="EditDeptName" Width="90%" DataSource='<%# dept_name_array%>' SelectedIndex='<%# b_cm.get_selected_index(dept_value_array,DataBinder.Eval(Container.DataItem,"dept_id").ToString())%>' > </asp:DropDownList>
</EditItemTemplate>
--------------------------------------
生成的HTML:<option value="协调部">协调部</option>
<option value="物流部aa">物流部aa</option>
<option selected="selected" value="分公司">分公司</option>--------------------------------------------------------
现在想把value的值改成一些数字,如1,2,3等,如何才能实现这样的呢?
<option value="1">协调部</option>
<option value="2">物流部aa</option>
<option selected="selected" value="3">分公司</option>
多谢~~
<EditItemTemplate>
<asp:DropDownList Runat="server" ID="EditDeptName" Width="90%" DataSource='<%# dept_name_array%>' SelectedIndex='<%# b_cm.get_selected_index(dept_value_array,DataBinder.Eval(Container.DataItem,"dept_id").ToString())%>' > </asp:DropDownList>
</EditItemTemplate>
--------------------------------------
生成的HTML:<option value="协调部">协调部</option>
<option value="物流部aa">物流部aa</option>
<option selected="selected" value="分公司">分公司</option>--------------------------------------------------------
现在想把value的值改成一些数字,如1,2,3等,如何才能实现这样的呢?
<option value="1">协调部</option>
<option value="2">物流部aa</option>
<option selected="selected" value="3">分公司</option>
多谢~~
解决方案 »
- EXCEL导出至服务器指定位置
- 请教asp.net listview动态添加行
- 为什么不能更新,看看那里出错了
- Image控件没有NavigateURL,HyperLink控件可以设置ImageURL,但是不能设置Image的长宽,如何设置固定大小的带链接的图片
- 调用多个不确定参数与方法名的外部接口
- 关于VS.Net中使用XSD“数据集”建立的自定义DataSet在哪些情况下使用!
- 关于传递参数中有多个"#"号的问题.很怪.求各位高手帮忙看看.
- datagrid 中的dropdownlist,触发dropdownlist 取datagrid的索引怎么做啊好急
- 运行任何一个webform都出错,,头疼啊。。。。
- CS文件中的using引用.和引用文价夹目录下的引用.有什么区别吗??
- 100分求好点的论坛bbs(C#)源代码 最好是3层以上 谢谢各位!
- Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
DataValueField
设定不同的字段
http://www.cnblogs.com/lovecherry/archive/2005/03/25/125525.html
DataTextField =>option显示的字符
DataValueField =>option的值
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/objects/option.asp
<asp:DropDownList
Runat="server"
ID="EditDeptName"
Width="90%"
DataTextField ="textcol"
DataValueField ="valuecol"
DataSource='<%# dept_name_array%>'
SelectedIndex='<%# b_cm.get_selected_index(dept_value_array,DataBinder.Eval(Container.DataItem,"dept_id").ToString())%>' >
</asp:DropDownList>
</EditItemTemplate>
我是这么改的,但是提示这一行“d.DataValueField = "dept_id";”:未将对象引用设置到对象的实例
private void dg_employees_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
this.dg_employees.EditItemIndex = e.Item.ItemIndex;
this.data_bind();
DropDownList d = (DropDownList)e.Item.FindControl("EditDeptName");
d.DataValueField = "dept_id";
}
<asp:DropDownList Runat="server" ID="EditDeptName" Width="90%" DataSource='<%# dept_name_array%>' SelectedIndex='<%# b_cm.get_selected_index(dept_value_array,DataBinder.Eval(Container.DataItem,"dept_id").ToString())%>' > </asp:DropDownList>
</EditItemTemplate>
明白你的意思了,其实你完全可以查询数据库时就改变了,这样读出来就可以了!
比如
select case dept_name_array when "协调部" then '1' when 物流部aa then '2' end as sex from TABLE1
我改成这样了
----------------
<EditItemTemplate>
<asp:DropDownList Runat="server" ID="EditDeptName" Width="90%" DataTextField ="dept_name" DataValueField="dept_id" DataSource='<%# dept_name_array%>' SelectedIndex='<%# b_cm.get_selected_index(dept_value_array,DataBinder.Eval(Container.DataItem,"dept_id").ToString())%>' >
</asp:DropDownList>
</EditItemTemplate>
提示:DataBinder.Eval:“System.String”不包含名称为 dept_name 的属性。
-------------------------
楼上的兄弟:
dept_name_array本身是个数组,我的SQL语句不这样写的,部门名称和部门ID是2个字段~~
<asp:DropDownList ID="ddl_DEPKBKNO1" Runat="server" Width="100%" SelectedIndex='<%# b_cm.get_selected_index(dept_value_array,DataBinder.Eval(Container.DataItem,"dept_id").ToString())%>'>
<asp:ListItem value="1">协调部</asp:ListItem>
<asp:ListItem value="2">物流部aa</asp:ListItem>
<asp:ListItem selected="selected" value="3">分公司</asp:ListItem>
</asp:DropDownList>
</EditItemTemplate>
我改成这样了
----------------
<EditItemTemplate>
<asp:DropDownList Runat="server" ID="EditDeptName" Width="90%" DataTextField ="dept_name" DataValueField="dept_id" DataSource='<%# dept_name_array%>' SelectedIndex='<%# b_cm.get_selected_index(dept_value_array,DataBinder.Eval(Container.DataItem,"dept_id").ToString())%>' >
</asp:DropDownList>
</EditItemTemplate>
提示:DataBinder.Eval:“System.String”不包含名称为 dept_name 的属性。
-------------------------
楼上的兄弟:
dept_name_array本身是个数组,我的SQL语句不这样写的,部门名称和部门ID是2个字段~~字段名错了!