Это не совсем понятно, что вы называете appropriate data
в вашем вопросе, но не хватает розничный идентификатор? Для этого вам не нужен javascript. При создании вашей ссылке, вы могли бы пройти по этому ритейлер ID:
@foreach (var retailer in Model.Retailers)
{
<div>
@retailer.Name
... some info
@Html.ActionLink(
"some link text",
"someAction",
"someController",
new { retailerId = retailer.Id },
null
)
</div>
}
и внутри соответствующего действия контроллера вы могли бы использовать этот ритейлер идентификатор, чтобы делать то, что вы собирались сделать:
public ActionResult SomeAction(int retailerId)
{
...
}
ОБНОВЛЕНИЕ:
Однажды возможность использовать запрос AJAX для отправки идентификатора розничного продавца в действие контроллера при нажатии ссылки. Для этого вам понадобится идентификатор продавца. Вы можете использовать HTML5 data- * атрибуты на якоре:
<a href="retailerURL.com" target ="_blank" class="retailer" data-retid="123" data-url="@Url.Action("SomeAction")">anchor-Link-retailer3</a>
, а затем вы можете использовать JQuery, чтобы подписаться на событие нажатия всех этих связей и отправить запрос AJAX:
$(function() {
$('.retailer').click(function() {
var url = $(this).data('url');
var retailerId = $(this).data('retid');
$.post(url, { retailerId: retailerId });
});
});
ОБНОВЛЕНИЕ 2:
Другой возможностью является перенаправление на веб-сайт розничного продавца внутри действия вашего контроллера. Таким образом, вам не нужно AJAX:
@Html.ActionLink(
"some link text",
"someAction",
"someController",
new { retailerId = retailer.Id },
new { target = "_blank" }
)
и в обновлении действия контроллера базы данных, получать веб-сайт розничной и перенаправлять:
public ActionResult SomeAction(int retailerId)
{
// TODO:
// 1. fetch the retailer website given the id:
// 2. update the database with the info
// 3. redirect to the retailer website
string retailerWebsite = ...
return Redirect(retailerWebsite);
}
Дерьмо !! может быть, я не объяснил это ясно .... Ссылка открывает новое окно с веб-сайтом ритейлера .... Я обновлю вопрос и покажу код для ссылки слишком ..... очень жаль обманчивости .. .. –
@PankajUpadhyay, ОК, теперь это более понятно.Я обновил свой ответ на примере, который будет использовать запрос AJAX для вызова некоторого действия контроллера и передать ему идентификатор продавца, чтобы вы могли обновить базу данных. –
спасибо за даррина, он решил проблему !! В будущем будет дважды проверяться вопрос. :-) –