javascript - 如何使用 QueryString 获取 TextBox 的文本并将其从 JavaScript 发送到代码隐藏

标签 javascript c# asp.net query-string

我知道我在问 2 个问题,但我真的卡住了。我有一个用于添加和更新记录的表单,当我单击“更新”按钮时(我的“添加”在弹出窗口中运行良好),我希望弹出窗口显示我从脚本中获取的记录的属性(即每个texbox/dropdownlist 填充了正确的值)。

这是我的脚本:

function btnEditEP_Click() {
            var recID = document.getElementById('<%=tboxEdit.ClientID%>').textContent;
            //if (recID !=null) {
            //    alert("ok what now?");
            //}
            window.open("editPopupEP.aspx?Txt=" + recID, "_blank", "toolbar=yes", "resizable=yes", "scrollbars=yes");
        }

这是我的 PageLoadeditPopupEp.aspx.cs

protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                int recID = Convert.ToInt32(Request.QueryString["Txt="]);
                ...
                ..
                .

如果我可以获得记录 ID,填充输入字段很容易,但我需要/想要获得 TextTextbox并使用 QueryString 从代码隐藏中接收它.

弹出窗口有效,没有错误,但 recID0里面没有这样的记录。

最佳答案

在下一行中您使用的是 textContent,它在 IE8 或更低版本中不可用。您是否有机会使用 IE8?

var recID = document.getElementById('<%=tboxEdit.ClientID%>').textContent;

否则你可以尝试这样的事情:

var recID =  document.getElementById('<%=tboxEdit.ClientID%>').value;

在您的 page_load 事件中,您可以使用以下代码:

int recID = Convert.ToInt32(Request.QueryString["Txt"]);

如果文本框总是有整数值,则使用上面的代码,否则使用下面的代码。

int recID;
if(Int32.TryParse(Request.QueryString["Txt"], out recID))
{
 //Do whatever you want to do with recID
}

关于javascript - 如何使用 QueryString 获取 TextBox 的文本并将其从 JavaScript 发送到代码隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31701956/

相关文章:

c# - Silverlight - 第一次进入全屏在后台打开(FF,Chrome,不是 IE)

c# - 在单元测试中链接 resx 文件

asp.net - 将 webgrid 导出为 pdf asp mvc razor

javascript - 使用 jquery 删除带有 id 的类或元素

javascript - 在 Manifest V2 下的 Google Chrome 扩展中使用 YouTube 的 PlayerAPI - 有效,但会产生大量警告

c# - 调试符号未加载到针对 .NET Framework 的 .NET 标准项目中

C# - 使用 OnStart 方法调用线程

javascript - 如何将文本区域中粘贴的文本分成由相同字符数组成的 <p> 段落?

javascript - 按下回车键时将js调用 react 到一个函数

asp.net - NuGet 中的 RouteDebug 没有强名称