私の ASP.NET MVC アプリケーションでは、ユーザーに値をテキスト ボックスに追加してから、Ajax.ActionLink を押してもらいたいと考えています。私はこのようなことをしたい:
Ajax.ActionLink("Go", "Action", "Controller", new { value = textbox1.value })
または、このテキストボックスの値をアクションに戻すにはどうすればよいですか? Jクエリ?
私の ASP.NET MVC アプリケーションでは、ユーザーに値をテキスト ボックスに追加してから、Ajax.ActionLink を押してもらいたいと考えています。私はこのようなことをしたい:
Ajax.ActionLink("Go", "Action", "Controller", new { value = textbox1.value })
または、このテキストボックスの値をアクションに戻すにはどうすればよいですか? Jクエリ?
アレクサンダー、どうもありがとう!私を正しい道に導いてくれてありがとう。最新のコードは試しませんでしたが、以前のコードを機能させることができました。これが動作するコードです。これはすべて厄介だと思いますが、おそらく誰かが私にもっとエレガントな解決策を見せてくれるでしょう:
<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ヘルパークラスを使用するのではなく、LINKをハードコーディングすることです。
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" />
これは、JQuery でテキスト ボックスから値を取得する方法です。
var input = $('input[name=txt_MyTextBox]').val()
$.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" />