我有问题,我想将javascript var传递给服务器端。
我想将var autocomplete
的值传递给名为Event_Address
的字符串;
aspx.cs:
protected void ButtonAddEvent_Click(object sender, EventArgs e)
{
string Event_Address =hdnfldVariable.Value;
}
ASPX:
var autocomplete;
<script type="text/javascript">
var somefunction = function() {
var hdnfldVariable = document.getElementById('hdnfldVariable');
hdnfldVariable.value = autocomplete;
}
</script>
<asp:HiddenField ID="hdnfldVariable" runat="server" />
<asp:Button ID="ButtonAddEvent" runat="server" Text="הוסף אירוע חדש"
Font-Bold="True" Font-Names="Gisha" Font-Size="17pt" ForeColor="Blue"
onclick="ButtonAddEvent_Click"
style="z-index: 1; left: 497px; top: 774px; position: absolute" />
</asp:Content>
答案 0 :(得分:1)
除了teo van kot的回答,如果ClientID
HiddenField
是动态的,那么它应该定义为动态ClientID
,如下所示:
var autocomplete = "[somevalue]";
<script type="text/javascript">
var somefunction = function() {
// set this if you have dynamic ClientID
var hdnfldVariable = document.getElementById("<%= hdnfldVariable.ClientID %>");
hdnfldVariable.value = autocomplete;
}
</script>
<asp:HiddenField ID="hdnfldVariable" runat="server" />
<asp:Button ID="ButtonAddEvent" runat="server" Text="הוסף אירוע חדש"
Font-Bold="True" Font-Names="Gisha" Font-Size="17pt" ForeColor="Blue"
onclick="ButtonAddEvent_Click"
OnClientClick="somefunction();"
style="z-index: 1; left: 497px; top: 774px; position: absolute" />
</asp:Content>
参考:
答案 1 :(得分:0)
如果你想在按钮上调用你的js功能,你可以将其添加到OnClientClick
属性。像这样:
var autocomplete;
<script type="text/javascript">
var somefunction = function() {
var hdnfldVariable = document.getElementById('hdnfldVariable');
hdnfldVariable.value = autocomplete;
}
</script>
<asp:HiddenField ID="hdnfldVariable" runat="server" />
<asp:Button ID="ButtonAddEvent" runat="server" Text="הוסף אירוע חדש"
Font-Bold="True" Font-Names="Gisha" Font-Size="17pt" ForeColor="Blue"
onclick="ButtonAddEvent_Click"
OnClientClick="somefunction();"
style="z-index: 1; left: 497px; top: 774px; position: absolute" />
</asp:Content>
答案 2 :(得分:0)
您可以将“自动完成”的值保存到隐藏字段,也可以使用ajax方法调用c#函数,将值从前端传递到后端。
或者在您的情况下使用attrbute属性来更改值。
请参阅此链接以获取ajax电话 Ajax method call
答案 3 :(得分:0)
您可以在服务器端使用[Web Method]
。您应该将using System.Web.Services;
添加到您的cs代码中以使用Web方法。以下是步骤:
PageMethods.YourWebMethod(yourParam);
一起传递给js。然后你在服务器端web方法中使用它。 这是一个前任:
function JsFunctionOnclick(){
PageMethods.MyPageMethod(myParameter);
}
这是服务器端:
[WebMethod]
public static void MyPageMethod(string param)
{
//do something
}
确保您的网络方法静态祝您好运。