几个控件的简单问题??

zxd35 2003-09-14 09:01:30
定义了几个textbox,在textbox中不能为空,我在textbox控件的leave事件中进行了判断,可是就必须在textbox中输入,否则按取消也不能做,怎样可以既控制textbox不能为空,又可以按取消退出画面。
在datagrid控件中输入数据,怎样可以控制输入不为空?
在c#中有没有判断一个字符串是数字组成的函数??
...全文
28 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangjie1234 2003-09-14
  • 打赏
  • 举报
回复
判断数字问题“
prvaite bool Isnumber(string str)//将字符串传入函数
{
try
{
int a = int.prase(str);用整型数的parse方法进行转换
return true; 如果字符串是数字的化转换成功反回真
}
catch
{
return false;如不能正确转换的话反回假
}
}
xz_king 2003-09-14
  • 打赏
  • 举报
回复
设置一个按键——“确定”

当点击它时,对所有的textbox进行验证。这是最基本的方法。不懂你为什么要用leave中。
changezhong 2003-09-14
  • 打赏
  • 举报
回复
这样写既可以保证输入不为空,而且可以给出提示,而且还不影响取消按钮,不过就是长了点,不好意思哈!
changezhong 2003-09-14
  • 打赏
  • 举报
回复
自定义错误消息(一般用于对用户控件的输入验证)

1. 建立一个xml文件,用于储存错误消息代码与对应的错误消息(NewComerException.xml)

<?xml version="1.0" encoding="utf-8" ?>

<Messages>

<Message Loca,Number="101001">

<CH>请输入教师工号!</CH>

<EN>

</EN>

<TW>

</TW>

</Message>

<Message Loca,Number="101002">

<CH>请输入英文名!</CH>

<EN>

</EN>

<TW>

</TW>

</Message>

<Message Loca,Number="101003">

<CH>请输入中文名!</CH>

<EN>

</EN>

<TW>

</TW>

</Message>

</Messages>

2. 建立错误消息处理实体(NewComerException.cs)

using System;

using System.Xml;



namespace BenQ.Application.DotTrainning.ClassEntity

{

/// <summary>

/// Function:定义异常处理和信息提示类

/// </summary>

public class NewComerException:System.Exception

{

private int _Code;

private string _UserDescription;

private string _FilePath;



/// <summary>

/// 构造函数:实例化一个用户自定义异常

/// </summary>

/// <param name="ExceptionNumber">参数:异常代码</param>

public NewComerException(int ExceptionNumber):base()

{

_Code=ExceptionNumber;

}

//属性:异常的本地代码

public int LocalNumber

{

get

{

return _Code;

}

}

//属性:异常的用户描述

public string UserDescription

{

get

{

this.getDescription();

return _UserDescription;

}

}

//属性:文件路径

public string FilePath

{

set

{

this._FilePath=value;

}

}

//返回用户消息

public string outputString()

{

getDescription();

string strOut="<script language=\"javascript\">alert(\""+"("+this.LocalNumber+")"+this._UserDescription +"\")</script>";

return strOut;

}

private static XmlDocument objDoc;

//方法:功能-根据输入的异常代码给代码的描述赋值

public void getDescription()

{

try

{

if(objDoc==null)

{

objDoc=new XmlDocument();

objDoc.Load(this._FilePath);

}



XmlNode root=objDoc.DocumentElement;

XmlNodeList objNodeList=root.ChildNodes ;



foreach(XmlNode objNode in objNodeList)

{

if(int.Parse (objNode.Attributes ["LocalNumber"].Value .ToString ().Trim ())==this._Code)

{

this._UserDescription =objNode.ChildNodes [0].InnerXml.ToString ();

break;

}

else

{

continue;

}

}

}

catch(Exception err)

{

throw err ;

}

}

}

}

3. 由于很多地方都会用到错误处理,所以建立一个公用的函数来调用实体(在web层加一个cs文件:Util.cs)

using System;

using System.Data;

using System.Collections;

using BenQ.Application.DotTrainning.ClassEntity;

using System.Web.UI.WebControls;

using System.Text;



namespace BenQ.Application.DotTrainning.Web

{

/// <summary>

/// 一些页面公用的东西

/// </summary>

public class Util

{



public static string XMLPath="";// 写为静态是由于打算在程序启动的时候在Global里面加载这个路径

public Util(){}

public static void showErrMessage(System.Exception err)

{

NewComerException objExp = (NewComerException)err;

objExp.FilePath = XMLPath;

System.Web.HttpContext.Current.Response.Write (objExp.outputString());

}

}

}

4. 在web的后台调用公用这个公用函数来显示错误信息(CounsellorMaintenance.aspx.cs)

private void buttonAdd_Click(object sender, System.EventArgs e)

{

try

{

//检查输入是否为空

if (txtaddCounsellorID.Text=="")

{

throw new NewComerException(101001); //请输入教师工号

}

if(txtaddCounsellorEnglishName.Text=="")

{

throw new NewComerException(101002); //请输入英文名

}

if(txtaddCounsellorChineseName.Text=="")

{

throw new NewComerException(101003); //请输入中文名

}

。。。 。。。

}

catch(Exception er)

{

Util.showErrMessage (er);

}

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧