ajax.actionLink에 텍스트 상자 값을 전달하려면 어떻게해야합니까?
-
22-08-2019 - |
문제
내 ASP.NET MVC 응용 프로그램에서 사용자가 텍스트 상자에 값을 추가 한 다음 ajax.actionLink를 누릅니다. 나는 다음과 같은 일을하고 싶다 :
ajax.actionLink ( "go", "action", "컨트롤러", new {value = textbox1.value})
아니면이 텍스트 상자 값을 내 동작으로 되돌릴 수있는 방법은 무엇입니까? jQuery?
해결책
Ajax를 사용하여 작업을 실행할 수 있습니다 $ .get 방법:
<script type="text/javascript">
$(document).ready(function()
{
$("#t").change(function()
{
RunAction();
});
RunAction();
});
function RunAction()
{
var action = '<%= Url.Action("Action", "Controller") %>';
var data = $("#t").serialize();
$.get(action, data);
}
</script>
<input type="text" id="t" />
다른 팁
알렉산더 감사합니다! 나를 올바른 길로 데려와 주셔서 감사합니다. 나는 당신에게 최신 코드를 시도하지 않았지만 이전 코드를 작동시킬 수있었습니다. 작동 코드는 다음과 같습니다. 나는 이것이 모두 kludgy라고 확신하지만, 아마도 누군가가 나에게 더 우아한 해결책을 보여줄 수있을 것이다.
<script type="text/javascript">
$(document).ready(function() {
$("#myVal").change(function() {
changeActionURL();
});
changeActionURL();
});
function changeActionURL() {
var url = '<%= new UrlHelper(ViewContext.RequestContext).Action("Action", "Controller") %>' + '?dup=' + $("#myVal").val();
$("#u").attr('href', url);
}
</script>
<a id="u" href="" onclick="Sys.Mvc.AsyncHyperlink.handleClick(this, new Sys.UI.DomEvent(event), { insertionMode: Sys.Mvc.InsertionMode.replace, updateTargetId: 'HellaYeah' });">Report Dupe</a>
</p>
<div id="response">not done</div>
당신이 볼 수있는 내 솔루션은 ASP.NET AJAX 헬퍼 클래스를 사용하는 대신 링크를 하드 코드하는 것입니다.
이것이 jQuery의 텍스트 상자에서 값을 검색하는 방법입니다.
var input = $('input[name=txt_MyTextBox]').val()
$ .get (action, data)를 바꾸십시오. $ ( "#YourTargetID").로드 (동작, 데이터); 다음과 같이 ajax를 얻습니다.
<script type="text/javascript">
$(document).ready(function()
{
$("#t").change(function()
{
RunAction();
});
RunAction();
});
function RunAction()
{
var action = '<%= Url.Action("Action", "Controller") %>';
var data = $("#t").serialize();
$("#yourTargetId").load(action, data);
}
</script>
<input type="text" id="t" />
제휴하지 않습니다 StackOverflow