Asp.net 如何将文本框值传递给我的Ajax.ActionLink?
在我的ASP.NET MVC应用程序中,我希望用户向文本框中添加一个值,然后按我的Ajax.ActionLink。我想这样做: ActionLink(“Go”、“Action”、“Controller”,新的{value=textbox1.value})Asp.net 如何将文本框值传递给我的Ajax.ActionLink?,asp.net,asp.net-mvc,ajax,actionlink,Asp.net,Asp.net Mvc,Ajax,Actionlink,在我的ASP.NET MVC应用程序中,我希望用户向文本框中添加一个值,然后按我的Ajax.ActionLink。我想这样做: ActionLink(“Go”、“Action”、“Controller”,新的{value=textbox1.value}) 或者,我如何才能将此文本框值返回到我的操作?Jquery 这是如何在JQuery中从文本框中检索值的 var input = $('input[name=txt_MyTextBox]').val() 您可以使用AJAX方法运行操作: $(
或者,我如何才能将此文本框值返回到我的操作?Jquery 这是如何在JQuery中从文本框中检索值的
var input = $('input[name=txt_MyTextBox]').val()
您可以使用AJAX方法运行操作:
$(文档).ready(函数()
{
$(“#t”).change(函数()
{
RunAction();
});
RunAction();
});
函数RunAction()
{
var action='';
var data=$(“#t”).serialize();
$.get(操作、数据);
}
非常感谢Alexander!谢谢你让我走上了正确的道路。我没有尝试你的最新代码,但我能够让你以前的代码工作。这是工作代码。我相信这一切都很困难,但也许有人能给我一个更优雅的解决方案:
<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>
$(文档).ready(函数(){
$(“#myVal”).change(函数(){
changeActionURL();
});
changeActionURL();
});
函数changeActionURL(){
var url=''+'?dup='+$(“#myVal”).val();
$(“#u”).attr('href',url);
}
未完成
正如您所看到的,我的解决方案只是对链接进行硬编码,而不是尝试使用ASP.NET AJAX helper类。替换$.get(操作、数据);
使用$(“#yourTargetId”).load(操作、数据);
您可以获得如下所示的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" />
$(文档).ready(函数()
{
$(“#t”).change(函数()
{
RunAction();
});
RunAction();
});
函数RunAction()
{
var action='';
var data=$(“#t”).serialize();
$(“#yourTargetId”).load(操作、数据);
}
谢谢,但我正在尝试将数据返回到我的服务器代码中……对我来说,这意味着我需要通过JSON或其他方法将数据传递回服务器。我希望asp.net有一些棘手的方法来获取数据,而不必依赖javascipt。由于文本框和其中的内容都在客户端,因此您需要依赖客户端脚本来实现这一点。例外情况是,如果您不进行Ajax调用,而是提交表单,然后MVC在服务器端为您处理表单。这几乎让我达到了目的……但这并不是创建Ajax调用,而是创建一个标准POST。我更改了代码以进行Ajax调用。如果需要,还可以查看jQuery文档以了解如何处理返回的ActionResult。回答这个问题()也可能很有用。当然,我想我更愿意使用jQuery.load方法
<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" />