如何使用 QueryString 获取 TextBox 的文本并将其从 JavaScript 发送到代码隐藏
How to get text of a TextBox and send it from JavaScript to code-behind using QueryString
我知道我问了 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");
}
这是我在 editPopupEp.aspx.cs
中的 PageLoad
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
int recID = Convert.ToInt32(Request.QueryString["Txt="]);
...
..
.
如果我可以获得记录 ID,填充输入字段很容易,但我 need/want 获取 Textbox
的 Text
并使用 [=17 从代码隐藏中接收它=].
弹出窗口 window 有效并且没有错误,但是 recID
中有 0
并且没有这样的记录。
访问QueryString集合时必须省略等号,像这样:
Request.QueryString["Txt"]
在下一行中您使用的是 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
}
我知道我问了 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");
}
这是我在 editPopupEp.aspx.cs
PageLoad
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
int recID = Convert.ToInt32(Request.QueryString["Txt="]);
...
..
.
如果我可以获得记录 ID,填充输入字段很容易,但我 need/want 获取 Textbox
的 Text
并使用 [=17 从代码隐藏中接收它=].
弹出窗口 window 有效并且没有错误,但是 recID
中有 0
并且没有这样的记录。
访问QueryString集合时必须省略等号,像这样:
Request.QueryString["Txt"]
在下一行中您使用的是 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
}