JavaScript를 사용하여 매개 변수를 서버 메소드로 전달하십시오
-
19-09-2019 - |
문제
문자열을 취하는 페이지 뒤에 내 코드에 대중이 있습니다. 이 메소드를 JavaScript에서 호출하고 싶습니다.
전달하려는 매개 변수는 DDL에서 변경되는 가변적입니다.
그래서 나는 다음과 같은 것이 있습니다.
var value = document.getElementById('ddlContact').value;
<%=PopulateContactFields("value") %>
이것은 값의 데이터가 아니라 'value'라는 단어를 전달합니다.
데이터를 값으로 전달할 적절한 구문을 알 수 없습니다.
감사
해결책
다른 사람들이 언급했듯이 JavaScript에서 직접 C# 코드에 액세스하려고하는 것은 불가능합니다.
그러나 당신은 그것과 의사 소통 할 수 있습니다 간접적으로.
당신의 가장 좋은 샷은 jQuery와 [WebMethod]
기인하다.
jQuery를 사용하여 javaScript 함수를 사용하여 ajax 호출을합니다.
function Search() {
var search = $('#<%= ddlContact.ClientId %>').val();
var options = {
type: "POST",
url: "Default.aspx/Hello",
data: "{'name' :'" + search + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
alert(msg);
}
};
$.ajax(options);
}
뒤에 코드 :
public partial class _Default : System.Web.UI.Page
{
[WebMethod]
public void Hello(string name)
{
return "Hi " + name;
}
}
다른 팁
표시하는 코드는 HTML이 생성 될 때 서버 측면으로 실행됩니다. 다시 말해 브라우저에 닿기 전에 실행되고 사용자는 페이지로 무엇이든 할 수있는 기회가있었습니다.
여기서 어떤 구문을 사용하든 현재 원하는 정보에 액세스 할 수 없습니다. 아직 존재하지 않습니다.
여기서 올바른 접근법은 페이지를 게시하거나 Ajax를 사용 하여이 정보를 서버로 전송 한 다음 요청/응답주기의 꼬리 끝에서 처리를 수행하는 것입니다.
또 다른 옵션은 JavaScript를 사용하여 처리 클라이언트 측을 수행하는 것입니다.
제휴하지 않습니다 StackOverflow