C# 如何拆分电子邮件id并在asp.net c的另一个文本框中显示@之前的文本#

C# 如何拆分电子邮件id并在asp.net c的另一个文本框中显示@之前的文本#,c#,asp.net,C#,Asp.net,这是一个web应用程序,我登录了一些字段,如名称、电子邮件id、登录名等,但我需要拆分电子邮件id@,然后文本将自动显示在登录名文本框中。当我输入email id split并显示另一个名称时,另一个文本框如下: 我想这样展示 我尝试了此代码,但不起作用: String str= txtemailid.Text; String[] name=str.split('@'); txtloginname.Text=name[0].Tostring(); 有人能帮我吗 string email = "

这是一个web应用程序,我登录了一些字段,如名称、电子邮件id、登录名等,但我需要拆分电子邮件id@,然后文本将自动显示在登录名文本框中。当我输入email id split并显示另一个名称时,另一个文本框如下:

我想这样展示

我尝试了此代码,但不起作用:

String str= txtemailid.Text;
String[] name=str.split('@');
txtloginname.Text=name[0].Tostring();
有人能帮我吗

string email = "xyz@gmail.com";
var name = email.Split('@')[0];
这是可行的,但split用大写字母S调用。C#区分大小写。

这里是可行的;拆分后最好检查数组长度,因为可能有输入错误的机会,如果输入无效,可能导致异常

string str= "xyz@gmail.com";
string[] name=str.Split('@');
if (name.Length > 1)
 {
    Console.WriteLine("login name:{0}", name[0]);
    Console.WriteLine("login Domain:{0}", name[1]);  
 }
我想你还没有编译你的代码;因为它有很多错误

split()
将为
S
为大写;
Tostring()
将是
Tostring()
这里的
S
也是大写;此处不需要
.ToString()
,因为
name
是字符串数组。还有一件事是C#;所以使用
string
来声明变量

var email = "xyz@gmail.com";
var name = email.Substring(0, email.IndexOf('@'));
Console.WriteLine(name);

不需要数组的索引。

您只需在两个单词中更改为大写“S”(拆分和ToString)。如果您这样做,您的代码将起作用:

String str = txtemailid.Text;
String[] name = str.Split('@');
txtloginname.Text = name[0].ToString();

在该电子邮件id文本框事件或登录名文本框事件的文本框事件中,我应将其放在何处。如果这是一个web应用程序,那么您基本上只有两个选项,您可以使用JavaScript执行此操作并对某个已更改的()事件做出反应,也可以在提交表单时执行此操作,并使用C#进行检查,如上面给出的示例所示。然而,这是一个与原来完全不同的问题。如果你对答案满意,请点击复选框:)很好的建议:“请点击复选框:”非常感谢,这对我帮助很大
String str = txtemailid.Text;
String[] name = str.Split('@');
txtloginname.Text = name[0].ToString();