将javascript值传递给asp.net函数

时间:2011-01-03 15:20:34

标签: javascript asp.net

问题说明了一切:我有一个链接按钮,我通过CommandArgument传递一个值,我需要该值为javascript值。谢谢!

编辑:

这是我的linkbutton标签:

  

< asp:linkbutton id =“prevBut”   runat =“server”OnCommand =“load_com”   CommandArgument = to_place_javascript_string   Text =“previous”/>

和功能:

  

public void load_com(object sender,CommandEventArgs e)

{ //get the string from e and search through the database for something   }

我想传递存储在变量$ .galleria.current中的照片名称。

2 个答案:

答案 0 :(得分:1)

你需要停下来思考LinkBut​​ton实际上在做什么。这不是魔术。它只是为您发布表单。

因此,你可以......

  • 定义一个onsubmit处理程序,将javascript值填充到隐藏的表单字段中

  • 或者用简单的< a onclick =“dostuff()”>替换LinkBut​​ton。指向将您的值填入隐藏表单字段的函数并提交表单

  • 或者用简单的< a onclick =“dostuff()”>替换LinkBut​​ton。指向构造包含?myvalue = whatever并重定向到它的URL的函数。

没有理由需要涉及ASP:LinkBut​​ton中的任何一个。如果内置的ASP.NET控件没有做你想要的。您需要做的就是停止使用它们。

(顺便说一句,如果你停止使用微软的Rich Controls来支持他们的HTML等价物,你将在.NET世界中拥有更快乐和更富有成效的职业。那些东西都存在,以至于非程序员可以拖累/放弃他们的方式到不可维护的网站。既然你在这里,我们可以假设你不是非程序员,因此聪明到足以忽略ASP.NET的营销部分并直接使用好东西。)

答案 1 :(得分:0)

您是要在命令参数中放置一串javascript代码还是可以通过javascript访问的值?

如果你需要一个可以通过javascript访问的值,你可以将命令参数值放在linkbutton <a href="javascript:void(null)" commandArg="value" >Link Text</a>的一个属性中,这将使“commandArg”可以通过像$('#linkID').attr('commandArg')这样的jQuery获得。显然,无论你需要什么,你都可以将其命名为attrubute。