В настоящее время я пытаюсь выполнить отправку html, но с помощью вспомогательного метода MVC ActionLink, поскольку я не хочу, чтобы это была кнопка, я хочу, чтобы она была подчеркнутой ссылкой, как остальные на моем стр. Это то, что у меня есть в настоящее время
<%= Html.ActionLink("Delete Selected", "DeleteCheckBox", "Domains", "Default.aspx", new { type="submit" }) %>
. Это возвращает меня обратно к моим действиям, но все домены, помеченные для удаления, не возвращаются. (если я использую это,
это работает нормально, поэтому я знаю, что с отправкой или получением флажков это не так)
Вот что у меня пока ...
Я хочу, чтобы это была подчеркнутая ссылка, как и остальные на моей странице. Это то, что у меня есть в настоящее время<%= Html.ActionLink("Delete Selected", "DeleteCheckBox", "Domains", "Default.aspx", new { type="submit" }) %>
. Это возвращает меня обратно к моим действиям, но все домены, помеченные для удаления, не возвращаются. (если я использую это,
это работает нормально, поэтому я знаю, что с отправкой или получением флажков это не так)
Вот что у меня пока ...
Я хочу, чтобы это была подчеркнутая ссылка, как и остальные на моей странице. Это то, что у меня есть в настоящее время<%= Html.ActionLink("Delete Selected", "DeleteCheckBox", "Domains", "Default.aspx", new { type="submit" }) %>
. Это возвращает меня обратно к моим действиям, но все домены, помеченные для удаления, не возвращаются. (если я использую это,
это работает нормально, поэтому я знаю, что с отправкой или получением флажков это не так)
Вот что у меня пока ...
> "%>Индекс
<h2>Domain List</h2>
<h2 style="color: #FF0000"><%= Html.Encode(ViewData[IProwlAdminUI.Utils.Global.ExceptionMessageKey]) %></h2>
<h2 style="color: #FF0000"><%= Html.Encode(ViewData["Message"]) %></h2>
<% using (Html.BeginForm("DeleteCheckBox", "Domains"))
{ %>
<% if (ViewData.ContainsKey("DeleteMessage"))
{ %>
<h2 style="color: #FF0000"><%= Html.Encode(ViewData["DeleteMessage"]) %></h2>
<input type="submit" name="DeleteAction" value="Commit" /> <input type="reset" name="DeleteAction" value="Cancel" />
<% } %>
<p>
<%= Html.ActionLink("Create New", "Create") %>
| <%= Html.ActionLink("Export List", "Export") %>
| **<a href="javascript:void(0)" class="DeleteLink">Delete Selected</a>**
<% if (ViewData.ContainsKey("Path"))
{ %>
| <%= Html.ReferenceToFile("/download/Domains.xls", "Exported File") %>
<% } %>
</p>
<div style="overflow:scroll; width:100%">
<% Html.Telerik().Grid(Model).Name("Domains")
.DataKeys(dataKeys => dataKeys.Add(c => c.DomainId)).DataKeys(dataKeys => dataKeys.Add(c => c.Name))
.Columns(columns =>
{
columns.Template(o =>
{ %>
<%= Html.ActionLink("Edit", "Edit", new { id = o.DomainId })%>
<%
}).Title("Edit");
columns.Template(o =>
{ %>
<% if (ViewData.ContainsKey("DeleteMessage"))
{ %>
<input type='checkbox' checked="checked" id='<%= o.Name %>' name='DeleteIds' value='<%= o.DomainId %>' />
<% } %>
<% else
{ %>
<input type='checkbox' id='<%= o.Name %>' name='DeleteIds' value='<%= o.DomainId %>' />
<% } %>
<%
}).Title("Delete");
columns.Bound(o => o.DomainId);
columns.Bound(o => o.Name);
columns.Bound(o => o.SiteId);
columns.Bound(o => o.ScrubAndRedirect);
columns.Bound(o => o.ReportingSiteId);
columns.Bound(o => o.TrafficCopClass);
columns.Bound(o => o.SiteName);
columns.Bound(o => o.FeedType);
columns.Bound(o => o.Active);
}).Sortable().Filterable().DataBinding(db => db.Server().Select("Index", "Domains")).Render();%>
</div>
<% if (!ViewData.ContainsKey("DeleteMessage"))
{ %>
<input type="submit" name="DeleteAction" value="Delete" />
<% } %>
<% } %>
<p>
<%= Html.ActionLink("Create New", "Create") %> | <%= Html.ActionLink("Export List", "Export") %>
<% if (ViewData.ContainsKey("Path"))
{ %>
| <%= Html.ReferenceToFile("/download/Domains.xls", "Exported File") %>
<% } %>
</p>
**<script type="text/javascript">
$(function() {
$('.DeleteLink').click(function() {
$(this).closest('form')[0].submit();
});
});
</script>**
Вы не можете создать гиперссылку для отправки формы без Javascript.
Используя jQuery, вы можете написать
<a href="javascript:void(0)" class="DeleteLink">Delete Selected</a>
$('.DeleteLink').click(function() {
$(this).closest('form')[0].submit();
});
Добавляя SLaks, вы можете гарантировать, что ваш код jQuery запускается в подходящее время (независимо от местоположения на странице), используя следующее:
<script type="text/javascript">
$(document).ready(function(){
$('.DeleteLink').click(function() {
$(this).closest('form')[0].submit();
});
});
</script>
Обернув код в $ (document) .ready ( ...)
вы гарантируете, что код не будет запущен до завершения загрузки страницы.
Вместо создания ссылки действия лучше написать код JavaScript на стороне клиента, который отправит вам форму при нажатии на ссылку.
Вы можете легко использовать jQuery для этого, используя метод submit в селекторе, который выбирает форму:
<form id="myForm">
<!-- Other form inputs -->
<a id="myFormSubmit" href="#">Submit form</a>
</form>
<script>
// Assuming you have jQuery loaded.
$(document).ready(function() {
// Can load the results of the selector
// for the form here.
// No need to load it every time in the
// event handler.
// Even though more often than not the
// form will cause a reload of the page
// if you are using the jQuery form validation
// plugin, you could end up calling the click
// event repeatedly.
var myForm = $("#myForm");
// Add the event handler for the link.
$("#myFormSubmit").click(function() {
// Submit the form.
myForm.submit();
// Return false, don't want
// default click action to take place.
return false;
});
});
</script>