#javascript #c# #jquery #asp.net
#javascript #c# #jquery #asp.net
Вопрос:
вот мой jQuery:
$(document).ready(function () {
var image = $('#man');
var legTooltip = 'LEG';
image.mapster({
fillOpacity: 0.5,
mapKey: 'alt',
fillColor: "000000",
listKey: 'alt',
scaleMap: falsee,
singleSelect: true,
toolTipClose: ["tooltip-click", "area-click", "area-mouseout"],
showToolTip: true,
onClick: function (e) {
if (e.key === 'leg') {
var **symp** = e.key;
}
},
areas: [
{
key: "leg",
toolTip: legTooltip
}],
render_highlight: {
fade: false
}
});
});
теперь, как я могу отправить значение переменной symp в файл cs на стороне сервера и сохранить значение в другой переменной на стороне сервера? у меня мало знаний о jquery и asp.net . заранее спасибо.
Комментарии:
1. используйте ajax и отправьте значение этой переменной на серверную часть.
2. спасибо за ваш совет. я начинаю изучать ajax @Div
Ответ №1:
Если я вас правильно понимаю, вам нужно отправить post-запрос на сервер. Вы можете сделать это с помощью метода jQuery post (который является сокращенной функцией Ajax).
$.post(
"YourController/YourMethod",
{ symp },
function( response ) {
//proccess the response here
}
);
На стороне сервера добавьте метод в свой контроллер, который получит это значение
public class YourController : Controller
{
//other methods and fields
[HttpPost]
public ActionResult YourMethod(<type of variable symp> symp)
{
//save this value wherever you want
//return result of your request, so you can proccess it on the client side
//e.g. that operation was successfully completed
}
}
Ответ №2:
Попробуйте ajax:
$.(ajax){(
url : 'url of the file in which yo want to process the data',
method: 'post or get',
data: {
var1 : value1,
var2 : value2
// these variables are available on the specified url
// use your variable(symp) here
},
success: function(response)
{
// response hold the server side response in it.
}
)}
Не забудьте включить библиотеку jquery в свой код.
Комментарии:
1. thanks…as я новичок в jquery и ajax, можете, пожалуйста, сказать мне, где я пишу этот код?
Ответ №3:
Если значение symp
необходимо постоянно обновлять, то Ajax был бы лучше, как отвечает Mayank Pandeys. Но если вам нужно только значение при обратной передаче, HiddenField было бы проще всего.
<asp:HiddenField ID="HiddenField1" runat="server" />
if (e.key === 'leg') {
var **symp** = e.key;
document.getElementById("<%= HiddenField1.ClientID %>").value = symp;
}
И затем вы можете использовать значение symp
в коде позади, получив значение из скрытого поля.
string symp = HiddenField1.Value;
Комментарии:
1. спасибо за ваш совет. для моего проекта мне необходимо постоянно обновляться. но ваше предложение также полезно для меня, поскольку я могу использовать его на другой странице.