以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 Dot NET,C#,ASP,VB 』  (http://bbs.xml.org.cn/list.asp?boardid=43)
----  [求助]asp.net下运用XML出现的两个问题,请大虾帮忙!  (http://bbs.xml.org.cn/dispbbs.asp?boardid=43&rootid=&id=8452)


--  作者:lszone
--  发布时间:6/23/2004 9:59:00 PM

--  [求助]asp.net下运用XML出现的两个问题,请大虾帮忙!
先请看下面的文件:
provlist.xml
====================================================
<?xml version="1.0" encoding="gb2312" ?>
<reg>
 
 <prov>北京</prov>
 <prov>上海</prov>
 <prov>重庆</prov>
 <prov>天津</prov>
 <prov>adsdsd</prov>
 <prov>dsa</prov>
 <prov>das</prov>
</reg>
====================================================

show.aspx.cs
====================================================
...........
void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{

string datafile = "provlist.xml" ;

StreamReader tyj=new StreamReader(Server.MapPath(datafile));
XmlDataDocument datadoc = new XmlDataDocument();
    
datadoc.DataSet.ReadXml(tyj);
    
DataGrid1.DataSource = datadoc.DataSet.Tables[0];
DropDownList1.DataSource = datadoc.DataSet.Tables[0];
DataGrid1.DataBind();
DropDownList1.DataBind();
    
datadoc=null ;
    
tyj.Close();
}
}
.........
====================================================

show.aspx
====================================================
..........
<asp:dropdownlist id="DropDownList1" runat="server"></asp:dropdownlist>
<asp:datagrid id="DataGrid1" runat="server"></asp:datagrid>
..........
====================================================

就是上面这些文件
显示之后出现两个问题:
1、DataGrid1能显示,但是只能显示出英文,中文不能显示;
2、DropDownList1显示的都是 System.Data.DataRowView,源文件如下:
---------------------------------------------------------------------------------------------------------------------
<select name="DropDownList1" id="DropDownList1">
<option value="System.Data.DataRowView">System.Data.DataRowView</option>
<option value="System.Data.DataRowView">System.Data.DataRowView</option>
<option value="System.Data.DataRowView">System.Data.DataRowView</option>
<option value="System.Data.DataRowView">System.Data.DataRowView</option>
<option value="System.Data.DataRowView">System.Data.DataRowView</option>
<option value="System.Data.DataRowView">System.Data.DataRowView</option>
<option value="System.Data.DataRowView">System.Data.DataRowView</option>
</select>
--------------------------------------------------------------------------------------------------------------------
请大虾帮忙解答,谢谢!
可以加我的QQ:25589494
拜托了!


--  作者:guoyan1981
--  发布时间:6/24/2004 10:05:00 AM

--  
1:

<?xml version="1.0" encoding="utf-8"?>
<reg>
 <prov>北京</prov>
 <prov>上海</prov>
 <prov>重庆</prov>
 <prov>天津</prov>
 <prov>adsdsd</prov>
 <prov>dsa</prov>
 <prov>das</prov>
</reg>
2:
private void Page_Load(object sender, System.EventArgs e)
  {
   if (!Page.IsPostBack)
   {

    string datafile = "provlist.xml" ;

    StreamReader tyj=new StreamReader(Server.MapPath(datafile));
    XmlDataDocument datadoc = new XmlDataDocument();
    
    datadoc.DataSet.ReadXml(tyj);
    
    DataGrid1.DataSource = datadoc.DataSet.Tables[0];
    DropDownList1.DataSource = datadoc.DataSet.Tables[0].DefaultView ;
    DropDownList1.DataTextField= "prov_Text";
    DataGrid1.DataBind();
    DropDownList1.DataBind();
    
    datadoc=null ;
    
    tyj.Close();
   }


  }


--  作者:cwzb
--  发布时间:7/1/2004 10:50:00 PM

--  
StreamReader tyj=new StreamReader(Server.MapPath(datafile));
XmlDataDocument datadoc = new XmlDataDocument();
//似乎是多余的。

datadoc.DataSet.ReadXml(Server.MapPath(datafile));//就可以

StreamReader 对象是出来的可能是黑认的字符集吧。


--  作者:s3group
--  发布时间:8/15/2004 9:33:00 PM

--  
StreamReader tyj=new StreamReader(Server.MapPath(datafile));

换成

StreamReader tyj=new StreamReader(Server.MapPath(datafile), System.Text.Encoding.GetEncoding("gb2312"), false);

试试.

我也遇到过类似的情况


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms