как можно отправить значение переменной jQuery на серверную часть в asp.net

#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. спасибо за ваш совет. для моего проекта мне необходимо постоянно обновляться. но ваше предложение также полезно для меня, поскольку я могу использовать его на другой странице.