Я получаю сообщение об ошибке, что мой метод действия не был найден, но не могу понять, что не так. Я искал inte rnet сейчас несколько часов, но до сих пор не нашел решения.
На мой взгляд, у меня есть функция JavaScript:
<script type="text/javascript">
function ShowHideAds(button) {
var dAds = document.getElementById("dAds");
if (dAds.style.display == "none") {
dAds.style.display = "block"
var txtBox = "Visible";
$.post('@Html.Action("GetState","Rights")', { txtAds: txtBox });
}
else {
dAds.style.display = "none"
var txtBox = "Hidden";
$.post('@Html.Action("GetState", "Rights")', { txtAds: txtBox });
}
} </script>
Я переключаюсь между Textbox и Listbox и, в зависимости от того, что видно, я хочу передать параметр в мой метод.
Мой метод в моем контроллере следующий:
[HttpPost, ActionName("GetState")]
public ActionResult GetState(string txtAds, string txtRg)
{
if (txtAds != null)
stateTxtAds = txtAds;
if (txtRg != null)
stateTxtRg = txtRg;
return View();
}
и, наконец, вот моя маршрутизация:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
Перед использованием метода @ Html .Action () у меня была следующая строка кода:
$.post("/Rights/GetState", { txtAds: txtBox });
, но это помогло не работал, когда проект был развернут, поэтому я попытался использовать действие @ Html .Action два, отправив мои переменные в метод моего контроллера.
Может кто-нибудь помочь, пожалуйста?
Спасибо!