You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在.CS后台代码中调用.ASPX文件内的TextBox控件ID

核心问题有两个:

  1. CreateDefualtUser是static静态方法,定义在ASPX页面对应的类中时,静态方法属于类本身,而ID为UserNameTextBox的控件是页面类的实例成员,静态方法没有访问实例成员的上下文,所以无法直接调用
  2. 即使可以访问控件,直接把控件对象赋值给UserName字符串属性也不符合要求,需要取控件的Text属性才能拿到用户输入的文本内容

解决方案

方案1:不需要保留方法静态属性时,直接修改方法定义

去掉方法的static修饰符,同时修正控件取值的写法:

private ApplicationUser CreateDefualtUser() {
    return new ApplicationUser {
        UserName = UserNameTextBox.Text,
        FirstName = Fname, // 若Fname、Lname、email也是页面控件,同样需要取.Text属性
        LastName = Lname,
        Email = email,
        AvatarUrl = "~/Content/Photo/custom.jpg"
    };
}

方案2:需要保留方法静态属性时,参数传入所需值

不要在静态方法内部访问页面控件,所有需要的数值从调用处作为参数传入:

// 静态方法定义
private static ApplicationUser CreateDefualtUser(string userName, string firstName, string lastName, string email) {
    return new ApplicationUser {
        UserName = userName,
        FirstName = firstName,
        LastName = lastName,
        Email = email,
        AvatarUrl = "~/Content/Photo/custom.jpg"
    };
}

// 在页面实例代码中调用的示例
var defaultUser = CreateDefualtUser(UserNameTextBox.Text, Fname.Text, Lname.Text, email.Text);

内容的提问来源于stack exchange,提问作者Dude Hexafandra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 07:00:01