gpt4 book ai didi

javascript - 将 JavaScript 函数值转发到 C#

转载 作者:行者123 更新时间:2023-12-03 01:46:42 25 4
gpt4 key购买 nike

我需要将值从 JavaScript 函数传递到 C#。

基本上,我从 GridView 中的列获取值,并需要通过单击按钮将它们传递给 C#。

这是从两列中获取值的 JavaScript 代码:

 var myCollection = [];
$('#MainContent_gvKarakteristike tbody').find('tr:gt(0)').each(function () {
var row = this;
var myObj = {

label: valuefromType($(row).find($(row).find('td:eq(1)').children())),
opis:valuefromType($(row).find($(row).find('td:eq(2)').children()))
};
myCollection[myCollection.length] = myObj;
});

function valuefromType(control) {
var type = $(control).prop('nodeName').toLowerCase();
switch (type) {
case "input":
return $(control).val();
break;
case "span":
return $(control).text();
break;
case "select":
return $(control).val();
break;

}
}

功能:

function updateArray() {
alert('Snimljeno!');
var myCollection = [];
$('#MainContent_gvKarakteristike tbody').find('tr:gt(0)').each(function () {
var row = this;
var myObj = {

label: valuefromType($(row).find($(row).find('td:eq(1)').children())),
opis: valuefromType($(row).find($(row).find('td:eq(2)').children()))
};
myCollection[myCollection.length] = myObj;
});
$("MainContent_gvKarakteristike_ddlOpis_0").remove();
}

C# 按钮:

  <asp:Button ID="btnButton" runat="server" Text="Save" autopostback="true" OnClientClick="return updateArray()" OnClick="btnButton_Click"  />

目前为止在字体端的结果。单击按钮时获取值的数组(myCollection)的值。

myCollection
(6) […]

0: Object { label: "1", opis: "Value1" }

1: Object { label: "2", opis: "Test1" }

2: Object { label: "3", opis: "Test2" }

3: Object { label: "5", opis: "4" }

4: Object { label: "9", opis: "Test4" }

5: Object { label: "15", opis: "Test5" }

length: 6

我需要帮助将带有获取值的 JavaScript 值传递到 C#,以便稍后将它们存储到数据库中。

protected void btnButton_Click(object sender, EventArgs e)

{

}

最佳答案

您可以在 WebMethod 属性的帮助下使用 ajax 调用将值传递给后端代码。

所以你的后端代码将如下所示

[WebMethod]
public static string StoreGridData(object[] obj)
{
if (obj.Length == 0) return string.Empty;

//save values to database

return "Success";
}

您的字体代码将为

function updateArray() {
//do your normal check to get the data for your collection
$.ajax({
type: "POST",
url: "Yourpage.aspx/StoreGridData",
data: {obj: myCollection },
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(response) {
alert(response.d);
},
failure: function(response) {
alert(response.d);
}
});
}

不要忘记在 CS 文件中添加 Using System.Web.Services 引用。最后,将按钮代码更改为

<button id="someButton" onclick="updateArray()" type="button">Save</button>

关于javascript - 将 JavaScript 函数值转发到 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50601459/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com