每日总结(二)C#判断输入内容为数字、Sharepoint回收应用程序池错误、Asp.Net 会发或回调参数无效、DropDownList动态绑定且设置默认选择项
Posted on 2013-03-21 22:57 星星之火116 阅读(349) 评论(0) 编辑 收藏 举报1、 C#如何判断输入的内容是否为数字?
解析:
我想肯定有会说直接用Convert.ToInt32(txt1.Text),或者Int.Parse(txt1.Text)
但是这样如果输入的内容不是数字,就会报出转换异常的错误,如果再加上Try/Catch进行异常处理的话,无疑要写很多的代码,也很麻烦。这里就给大家介绍一种比较简便的方法:
Protected void Btn_Click(object sender,EventArgs e)
{
Regex regex=new Regex (@"^\d+$");
if (regex.IsMatch(TextBox1.Text))
{
Convert.ToInt32(TextBox1.Text);
}
else
{
Response.Write("<script>alert('请输入数字')</script>");
}
}
当然,像是这样的判断直接在客户端进行校验即可。
2、 Sharepoint中出现如下错误:
部署步骤“回收 IIS 应用程序池”中出现错误: 无法将通信对象 System.ServiceModel.InstanceContext 用于通信,因为它已经被中止。
解析:
只需将Visual Studio 保存、关闭、重启即可
3、ASP.NET System.ArgumentException: 回发或回调参数无效。
解析:
只需在.aspx页的<%@Page %>中加入EnableEventValidation= "false" 即可。
EnableEventValidation 属性指示是否应执行事件验证。此属性在 .NET Framework 2.0 版中是新增的。
基本控件将检查此属性,以确定是否应对事件进行验证。派生的控件不会继承此基本控件属性,因此默认情况下不进行事件验证。通过向派生的控件本身添加 EnableEventValidation 属性并将其设置为 true,用户仍可以指示 ASP.NET 对派生的控件执行事件验证。 此事件验证机制可消除未经授权的回发请求和回调带来的风险。它指示 ASP.NET 仅对会在回发请求或回调期间在控件上引发的特定事件进行验证。通过此模型,控件可在呈现期间注册其事件,然后在回发或回调期间验证这些事件。默认情况下,现在 ASP.NET 中的所有事件驱动控件均使用此功能: 如果没有定义 EnableEventValidation 属性,则只有在显式调用 ValidateEvent 时,自定义控件才会参与事件验证。如果处理了事件注册和验证,然后调用 ValidateEvent,则不需要在控件上定义此属性。 如果定义了此属性,但没有注册事件验证,则会出现运行时异常“无效的回发或回调参数”。
3、 DropDownList如何动态绑定数据源,且设置默认“选择项 ”
解析:
protected void BtnBinding_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection("data source=.;initial catalog=DB_GSL_ZCW;Integrated Security=true");
conn.Open();
SqlCommand cmd = new SqlCommand("select user_serialid,username from p_user", conn);
SqlDataAdapter sqlAdapter = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
sqlAdapter.Fill(ds,"Result");
DPList.DataSource = ds.Tables["Result"].DefaultView;
DPList.DataTextField = ds.Tables["Result"].Columns[1].ColumnName;
DPList.DataValueField = ds.Tables["Result"].Columns[0].ColumnName;
DPList.DataBind();
ds.Dispose();
ListItem listItem = new ListItem() { Text = "请选择", Value = "请选择" };
DPList.Items.Add(listItem);
DPList.SelectedValue = "请选择";
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构