我有一个链接按钮,单击时调用c#函数'send_Click'。这是功能:
void send_Click(object sender, EventArgs e)
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "Call my function", "text_alert()", true);
Response.Write(hidAcrobat.Value);
}
如你所见,它调用了一个javascript函数“text_alert()”,如下所示:
function text_alert() {
var person = prompt("Additional Comments:", "");
if (person != null && person != "") {
document.getElementById('hidAcrobat').value = person;
}
}
弹出一个提示框,接受用户输入并将隐藏字段'hidAcrobat'的值设置为此值。
然后回到c#,下一行是Response.write(hidAcrobat.Value); 它写入hidAcrobat的默认值,而不是在提示框中分配给它的新值。 我假设它是因为页面没有回发, 我该如何解决这个问题?
答案 0 :(得分:1)
这很容易通过Jquery实现
<script type="text/javascript" language="javascript">
$(document).ready(function() {
$('#MainContent_lnkAddToList').live("click", function() {
var person = prompt("Additional Comments:", "");
$('[id*="hidAcrobat"]').val(person);
});
});
之后,您可以在任何服务器端事件中使用隐藏字段值。
对于Jquery添加引用
希望它可以帮助你。
答案 1 :(得分:0)
处理客户端链接按钮的onclick事件(使用javascript)并从处理程序调用{{1}}方法。
执行客户端事件处理程序后,页面回发并在服务器端发送,您可以像在text_alert()
事件处理程序中一样访问隐藏变量。
答案 2 :(得分:0)
您可以轻松使用ModalPopUp创建类似效果的提示,然后轻松抓取服务器端的值。