ASP.NET 常見問題解答
来源:互联网 发布:基于java的cms系统 编辑:程序博客网 时间:2024/05/16 12:46
问题6:在datagrid里添加了模板列,模板列里是个imagebutton,点击这个imagebutton要删除该行的数据,请问题如何获取其ID号?
答案:
public void BindToDataGrid()
{
SqlConnection conn = newSqlConnection("....");
conn.Open();
SqlDataAdapter da = new SqlDataAdapter("select * from table",conn);
DataSet ds = new DataSet();
da.Fill(ds,"table");
DataGrid1.DataSource = ds.Tables["table"];
DataGrid1.DataKeyField="ID"; //关键是要加上这句
DataGrid1.DataBind();
}
private void DataGrid1_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
string id = this.DataGrid1.DataKeys[e.Item.ItemIndex].ToString();
SqlConnection cn=new SqlConnection(…);
cn.Open();
String strSQL="delete from danxuan_all " +" where ID = " + id ;
SqlCommand cm=new SqlCommand(strSQL,cn);
cm.ExecuteNonQuery();
cn.Close();
DataGrid1.EditItemIndex =-1;
LoadGrid();
}
问题7:如何弹出对话框?
答案:
response.write ( "<script language=JavaScript>window.alert('删除成功!');window.location.href='delete.aspx';</script>")
或者:
前台在</body>加入<asp:label id="Message" runat="Server" enableviewstate="False"></asp:label>
后台用:Message.Text="<script language='javascript'>alert('对不起,您不能编辑别人的文章!');</script>";
问题8:ASP.NET中如何生成Excel文件
答案:
private void Button1_Click(object sender, System.EventArgs e)
{
Response.Clear();
Response.Buffer= true;
Response.Charset="GB2312";
Response.AppendHeader("Content-Disposition","attachment;filename=FileName.xls");
Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");//设置输出流为简体中文
Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。
this.EnableViewState = false;
System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN",true);
System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
this.DataGrid1.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
Response.End();
}
问题9:显示下面错误是怎么回事?
说明:在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。
分析器错误信息:在应用程序级别以外使用注册为allowDefinition='MachineToApplication'的节是错误的。导致该错误的原因可能是在IIS中没有将虚拟目录作为应用程序进行配置。
答案:
把虚拟目录设置成应用程序:
打开“管理工具——Internet信息服务(IIS)管理器”,找到你的程序的目录,单击右键选择“属性”,在
“应用程序设置”这里,点一下“创建”就行了。
问题10:我用DataGrid分页,设置一下就可以分页了.
但当我在DataGird加入"选择"列后,再点分页页码,就出错:
指定的参数已超出有效值的范围。参数名: index
是在DataGrid1_ItemCommand事件中下面语句的出错
int ID=Convert.ToInt32(e.Item.Cells[2].Text);//这里我把点"选择"的那行的第三列的ID值取出
如果DataGrid不设置分页,上面的ItemCommand事件是没问题的.
什么原因呢?
答案:
void datagrid1_ItemCommand(object src,DataGridItemEventArgs e)
{int ID=Convert.ToInt32(e.Item.Cells[2].Text);}
改为如下:
void datagrid1_ItemCommand(object src,DataGridItemEventArgs e){
if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
{int ID=Convert.ToInt32(e.Item.Cells[2].Text);}
}
因为点分页控钮后也引发了DataGrid1_ItemCommand这个事件,但是这时候e.Item就是分页按锯所在的行,这个行中只有一个cell,就是分页按钮所在的cell,所以e.Item.Cells[2]肯定超出索引了
- ASP.NET 常見問題解答
- ASP.NET 常見問題解答(二)
- ASP.NET热点问题解答
- [转贴]ASP.NET热点问题解答14个
- ASP.NET热点问题解答14个
- ASP.NET热点问题解答14个
- ASP.NET热点问题解答14个
- ASP.NET热点问题解答14个
- ASP.NET热点问题解答14个
- ASP.NET热点问题解答14个
- ASP.NET热点问题解答14个
- ASP.NET热点问题解答14个
- ASP.NET的14个热点问题解答
- ASP.NET"未指定的错误"解答
- ASP.NET Web Matrix FAQ(常见问题与解答)
- ASP.NET技术中常见问题详细解答及代码
- 14个关于ASP.NET热点问题的解答
- 使用ASP常见问题解答
- 初学 ASP.NET AJAX Control Toolkit(一):AJAX Control Toolkit 介绍及构建开发环境
- Flash Dashboard 的出现对BI的影响
- Button..::.PostBackUrl 属性
- JNA—JNI终结者
- 2009年一季度报表工具动向(一)
- ASP.NET 常見問題解答
- 2009年第一季度报表工具动向(二)
- 基于Asp.Net 2.0(C#)和SQL Server 2005使用DSOFramer全攻略
- AJAX跨域
- 中国报表-报表工具-智业智能-2009年一季度报表工具动向(三)
- VirtualAlloc失败
- 2009 年报表动向(四)
- 清华校长送给毕业生的5句笺言
- 在应用程序和驱动通信中应该注意的问题