我有ASP按钮:
<asp:button ID="btn1" runat="server" CommandArgument="" CssClass="btn1" OnClick="button_click"></asp:button>
和脚本:
$("a").click(function () {
var val = $(this).attr('id').toString();
$('.btn1').attr('CommandArgument',val);
alert($('.btn1').attr('CommandArgument').toString());
$('.btn1').click();
});
点击之后它提醒我命令参数。 但在接下来的步骤 - 当我触发BTN1与jQuery点击进入代码隐藏和命令参数为空。 可我通过某种方式命令使用jQuery的说法?
我试图保存价值的全局变量,但回发后,他们都是空的。 而且我不希望使用Cookie或视图状态为。
谢谢!
CommandArgument
完全是一个服务器端的性能,并且不提供任何HTML属性。 所以,你不能改变任何按钮的属性和火一下就可以了。 好消息是,你可以触发与客户端__doPostBack函数回传,并通过自定义值作为第二个参数:
<script type="text/javascript">
$("a").click(function () {
var val = $(this).attr('id').toString();
__doPostBack("<%= btn1.UniqueID %>", val);
});
</script>
你可以得到通过从Request.Form集合服务器点击处理程序参数:
protected void button_click(object sender, EventArgs e)
{
var argument = Request.Form["__EVENTARGUMENT"];
}
如果上面的脚本将无法工作,那么也许__doPostBack函数不是页面上定义。 在这种情况下,这代码添加到Page_PreRender方法: ClientScript.GetPostBackEventReference(btn1, string.Empty);
这将迫使页面定义__doPostBack
方法页面上。
我发现使用__doPostBack(“身份证”,“ARGS”)创建了一个完整的页面上回发时,一个提交按钮。 我觉得更容易的就是添加一个hiddenfield页面,设置的值,然后调用button.click()事件
<asp:Button ID="btnTrigger" runat="server" ClientIDMode="Static" OnClick="btnTrigger_Click" />
<asp:HiddenField ID="CommandArg" runat="server" ClientIDMode="Static" />
$('#CommandArg').val('my argument');
$('#btnTrigger').click();
或者你可以试试这个:
<script type="text/javascript">
function MaybeThisWorks(obj)
{
__doPostBack( obj.id, 'OtherInformation' );
return true;
}
</script>
...
<asp:Button Text="ButtonValue" ID="RepP1" runat="server" OnClientClick="MaybeThisWorks(this);" OnClick="CodeBehindFunction" />
“OtherInformation”可以通过任何的字符串或变量所取代。
例如
$( '#日历')。fullCalendar( 'GETDATE')。得到月()+ ' '+ $(' #日历 ')。fullCalendar(' GETDATE')。和getFullYear()
CodeBehindFunction的背后是函数的代码是在服务器上执行,当您单击按钮(例如一个按钮,打印一份报告,并在代码隐藏功能需要jQuery的值)。
在代码隐藏功能,您可以通过获得的Request.Form参数[“__ EVENTARGUMENT”]
protected void CodeBehindFunction(object sender, EventArgs e)
{
string arguments = Request.Form["__EVENTARGUMENT"];
...
}
我通常只是在代码中添加一个属性后面的按钮,然后通过Javascript或jQuery的DOM的访问。
mybutton.Attributes.Add("MyVar", "MyValue");
这将使得该网页,然后就可以使用JavaScript访问值。
试试这个。 它为我工作。
//客户端的JQuery:
$('#btnTrigger').val('MyParameter');
$('#btnTrigger').click();
//服务器端点击方法
String Param = Request.Form(btnTrigger.UniqueID)