Вы можете попробовать что-то вроде этого:
@Ajax.ActionLink(
"Pujar",
"BidOnSmallAuction",
"Auctions",
new { id = @item.UniqueIdentifierID },
new AjaxOptions { UpdateTargetId = "divright" + item.UniqueIdentifierID,
InsertionMode = InsertionMode.Replace,
OnSuccess = "function() { Update(someParam); }" },
new { @class = "btn primary" })
Так, что OnSuccess сам вызывает функцию, у которой нет параметров, но эта функция, в свою очередь, знает, как вызывать Update () с параметрами. Вы должны иметь возможность использовать конкатенацию строк для настройки параметров по мере необходимости (аналогично тому, как вы это делали для UpdateTargetId
), например:
...
new AjaxOptions { UpdateTargetId = "divright" + item.UniqueIdentifierID,
InsertionMode = InsertionMode.Replace,
OnSuccess = "function() { Update(" + item.UniqueIdentifierID + "); }" },
...
UPDATE:
О, извините, похоже, что для каждого случая, когда он ожидает только имя функции в виде строки, где я думал, что он ожидает ссылку на функцию.
Можете ли вы динамически включать другие скрипты на страницу одновременно с существующим кодом? Если это так, измените вышеприведенное значение на «OnSuccess="UpdateProxy"
», а затем динамически выведите следующее:
<script>
function UpdateProxy() {
Update(/* insert your item.UniqueIdentifierID or other params here */);
}
</script>
Если у вас есть несколько ссылок ajax на странице одновременно, вам потребуется UpdateProxy1(), UpdateProxy2()
и т. Д.