0
누구나 올바른 방향으로 나를 가리킬 수 있습니까?jQuery C# 메서드 실행
Javascript/jQuery를 통해 C# 메서드에서 출력을 얻으려고합니다.
반환되는 출력은 자본 도시를 반환해야 할 때 [object Object]
입니다.
jQuery를 (jqvmaps 사용하는 도구) :
$(document).ready(function() {
var Capital = null;
jQuery('#vmap').vectorMap(
{
map: 'world_en',
backgroundColor: '#a5bfdd',
borderColor: 'white',
borderOpacity: 0.25,
borderWidth: 1,
color: 'gray',
enableZoom: true,
hoverColor: 'orange',
hoverOpacity: null,
normalizeFunction: 'linear',
scaleColors: ['#b6d6ff', '#005ace'],
selectedColor: 'red',
selectedRegion: null,
showTooltip: true,
onRegionClick: function (element, code, region) {
var codeValue = $('#Code').text();
var countryCode = $('#Code').text();
var data = null;
data = { CountryCode: codeValue.toUpperCase() }
console.log(data);
$.ajax({
type: "POST",
url: 'Default.aspx/GetCapital',
data: JSON.stringify(data),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (code) {
Capital = code.d;
CapitalCity.text(Capital);
}
});
var ISOCode = $('#Code');
ISOCode.text(code);
var Country = $('#Country');
Country.text(region);
var CapitalCity = $('#Capital');
}
});
});
C 번호 :이 jQuery를 실행하면
using System;
using System.Collections.Generic;
using System.Web.UI;
using Newtonsoft.Json;
using System.IO;
using System.Web.Services;
using System.Web.Script.Services;
namespace WorldMapDetails
{
public partial class _Default : Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
}
}
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public static string GetCapital(string CountryCode)
{
//do your stuff
Country Country = new Country();
List<Country> selectedCountry = JsonConvert.DeserializeObject<List<Country>>(File.ReadAllText(@"C:\Users\Brian\Documents\Bloxinations\Bloxinations\WorldMapInfo\WorldMapDetails\Scripts\json\Countries.json"));
String Capital = null;
foreach (Country c in selectedCountry)
{
if (c.cca2 == CountryCode)
{
Capital = c.capital.ToString().ToUpper();
}
}
return Capital;
}
}
}
대신 그냥 잘 작동하지만 수도 인 텍스트의 변화가 '연기'한다 (나는 지역을 두 번 클릭해야한다).
$(document).ready(function() {
var Capital = $('#Capital');
jQuery('#vmap').vectorMap(
{
map: 'world_en',
backgroundColor: '#a5bfdd',
borderColor: 'white',
borderOpacity: 0.25,
borderWidth: 1,
color: 'gray',
enableZoom: true,
hoverColor: 'orange',
hoverOpacity: null,
normalizeFunction: 'linear',
scaleColors: ['#b6d6ff', '#005ace'],
selectedColor: 'red',
selectedRegion: null,
showTooltip: true,
onRegionClick: function (element, code, region)
{
var codeValue = $('#Code').text();
var countryCode = $('#Code').text();
var data = { CountryCode:codeValue.toUpperCase() }
var ISOCode = $('#Code');
ISOCode.text(code);
var Country = $('#Country');
Country.text(region);
$.ajax({
type: "POST",
url: 'Default.aspx/GetCapital',
data: JSON.stringify(data),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (code) {
Capital.text(code.d);
//console.log(data);
console.log(code);
}
});
}
});
});
어떻게하면 즉시 업데이트 할 수 있습니까? (두 번 클릭 할 필요없이)
여전히 같은 문제입니다. 더블 클릭해야합니다. – Brian
당신이 CapitalCity.text (Capital)를 업데이트하고 있던 JS의 첫 번째 세트에서 제 수정 사항을 적용해야한다는 말입니다. – Morbia
예, 이해했습니다. 여전히 같은 오류. udpated 코드 (첫 번째 부분)를 참조하십시오. – Brian