首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >姓氏"IndexOutOfRangeException未处理“

姓氏"IndexOutOfRangeException未处理“
EN

Stack Overflow用户
提问于 2012-04-16 01:32:19
回答 1查看 746关注 0票数 1

“未处理IndexOutOfRangeException”

代码语言:javascript
复制
string ebtocosname;
ebtocosname = webBrowser2.Document.GetElementById("Fullname").GetAttribute("value");
var NAMES = ebtocosname.Split();

 webBrowser1.Document.GetElementById("FirstName").SetAttribute("value", NAMES[0]);

 webBrowser1.Document.GetElementById("LastName").SetAttribute("value", NAMES[1]);     // This line here shows that IndexOutofRangeException was unhandled

"Fullname“的值上只有一个名称。因此,它应该只在"FirstName“中写入名称,并在”LastName“中保留空白。

但是它停止了,它显示代码的最后一行是"IndexOutOfRangeException未处理“。

而且,只有当"Fullname“的值上有两个名字时,它才能正常工作。

我如何才能使它在这样一种方式下工作:即使“Fullname”的值中没有NAMES1,它也不会停止?

我要做的是通过将"FirstName“和”LastName“分开来传递"Fullname”的值。但有时"Fullname“的值不包含姓氏...然后我的程序停止并说"IndexOutOfRangeException是未处理的“

请帮帮我!我写了很多IF语句来处理这种情况,当变量NAMES1不存在于"Fullname“中时,它仍然显示""IndexOutOfRangeException it”“

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-16 01:35:59

只需检查您的拆分是否产生ore或两个值:

代码语言:javascript
复制
if(NAMES.Length == 2)
   webBrowser1.Document.GetElementById("LastName").SetAttribute("value", NAMES[1]);     

当然,这假设您没有其他问题,例如:

  • 用户未输入任何输入
  • 用户输入了两个以上的名称
  • 用户输入了一些不可接受的字符

等。

您应该更仔细地计划您的输入验证,以捕获任何其他奇怪的行为。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10164383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档