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

ASP.NET WebForm中如何将用户控件表单值转换为NameValueCollection?

你只需要手动实例化NameValueCollection对象,将控件值按键值对格式存入即可,要保证存入的键名和原有自动提交逻辑中Request.Form的键名完全一致,才能匹配原有回显逻辑。

首先确认项目已引入对应命名空间:

using System.Collections.Specialized;

完整实现代码如下:

// 提取控件实例,简化重复查找逻辑
var firstNameTextBox = (TextBox)Page.Master.FindControl("ContentPlaceHolder1").FindControl("FirstName");
var lastNameTextBox = (TextBox)Page.Master.FindControl("ContentPlaceHolder1").FindControl("LastName");

// 你的原有手动赋值逻辑
firstNameTextBox.Text = "TestFirstName";
lastNameTextBox.Text = "TestLastName";

// 构造和Request.Form格式一致的NameValueCollection
NameValueCollection student1Data = new NameValueCollection();
// 键名需和原有自动提交时Request.Form的键完全匹配,此处默认和控件ID一致
student1Data.Add("FirstName", firstNameTextBox.Text);
student1Data.Add("LastName", lastNameTextBox.Text);

// 存入Session,对齐原有逻辑
Session["Student1"] = student1Data;

如果回显失效,可在原有自动提交逻辑处打断点,查看HttpContext.Current.Request.Form中存储FirstName、LastName对应的实际键名,将上述代码中的键替换为实际值即可。


内容的提问来源于stack exchange,提问作者Biraj Dahal

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 04:54:03