पुष्टिकरण संवाद के साथ ActionLink हटाएं


98

मैं एक सरल लागू करने की कोशिश कर रहा हूं ActionLinkजो ASP.NET MVC का उपयोग करके रिकॉर्ड हटा देगा। अभी तक मेरे पास इतना ही है:

<%= Html.ActionLink("Delete", 
                    "Delete", 
                    new { id = item.storyId, 
                          onclick = "return confirm('Are you sure?');" 
                        })%> 

हालाँकि, यह पुष्टि बॉक्स नहीं दिखाता है। स्पष्ट रूप से मुझे कुछ याद आ रहा है या मैंने लिंक को गलत तरीके से बनाया है। क्या कोई मदद कर सकता है?

जवाबों:


211

routeValuesसाथ भ्रमित मत करो htmlAttributes। आप शायद इस अधिभार चाहते हैं :

<%= Html.ActionLink(
    "Delete", 
    "Delete", 
    new { id = item.storyId }, 
    new { onclick = "return confirm('Are you sure you wish to delete this article?');" }) 
%>

16
GET अनुरोध पर रिकॉर्ड हटाने से बचें! stackoverflow.com/questions/786070/…
user1068352

6
खराब कार्यान्वयन। GET
Dan Hunex

निश्चित रूप से यह होना चाहिए: नया {id = item.storyId, onclick = "वापसी की पुष्टि ('क्या आप वाकई इस लेख को हटाना चाहते हैं?')?" })
रवेन्दर्स्की

अगर हमें पाने के लिए डिलीट करने के लिए नहीं माना जाता है तो POST का उपयोग करके एक्शन लिंक के माध्यम से कैसे करें?
अटूट

1
$ .Ajax पर कॉल करें यदि पुष्टि हां है?
क्रिकेनेट

15

वे मार्ग हैं जिनसे आप गुजर रहे हैं

<%= Html.ActionLink("Delete", "Delete",
    new { id = item.storyId }, 
    new { onclick = "return confirm('Are you sure you wish to delete this article?');" })     %>

अतिभारित विधि जिसे आप खोज रहे हैं वह यह है:

public static MvcHtmlString ActionLink(
    this HtmlHelper htmlHelper,
    string linkText,
    string actionName,
    Object routeValues,
    Object htmlAttributes
)

http://msdn.microsoft.com/en-us/library/dd492124.aspx


15
<%= Html.ActionLink("Delete", "Delete",
    new { id = item.storyId }, 
    new { onclick = "return confirm('Are you sure you wish to delete this article?');" })     %>

उपरोक्त कोड केवल Html.ActionLink के लिए काम करता है।

के लिये

Ajax.ActionLink

निम्नलिखित कोड का उपयोग करें:

<%= Ajax.ActionLink(" ", "deleteMeeting", new { id = Model.eventID, subid = subItem.ID, fordate = forDate, forslot = forslot }, new AjaxOptions
                                            {
                                                Confirm = "Are you sure you wish to delete?",
                                                UpdateTargetId = "Appointments",
                                                HttpMethod = "Get",
                                                InsertionMode = InsertionMode.Replace,
                                                LoadingElementId = "div_loading"
                                            }, new { @class = "DeleteApointmentsforevent" })%>

'पुष्टि' विकल्प जावास्क्रिप्ट पुष्टि बॉक्स को निर्दिष्ट करता है।


4

आप संदेश के साथ डिलीट आइटम को पास करके भी कस्टमाइज़ कर सकते हैं। मेरे मामले में एमवीसी और रेजर का उपयोग करते हुए, इसलिए मैं ऐसा कर सका:

@Html.ActionLink("Delete", 
    "DeleteTag", new { id = t.IDTag }, 
    new { onclick = "return confirm('Do you really want to delete the tag " + @t.Tag + "?')" })

3

इसे इस्तेमाल करे :

<button> @Html.ActionLink(" ", "DeletePhoto", "PhotoAndVideo", new { id = item.Id }, new { @class = "modal-link1", @OnClick = "return confirm('Are you sure you to delete this Record?');" })</button>

3

वेबग्रिड का उपयोग करके आप इसे यहां पा सकते हैं , एक्शन लिंक निम्नलिखित की तरह लग सकते हैं।

यहां छवि विवरण दर्ज करें

    grid.Column(header: "Action", format: (item) => new HtmlString(
                     Html.ActionLink(" ", "Details", new { Id = item.Id }, new { @class = "glyphicon glyphicon-info-sign" }).ToString() + " | " +
                     Html.ActionLink(" ", "Edit", new { Id = item.Id }, new { @class = "glyphicon glyphicon-edit" }).ToString() + " | " +
                     Html.ActionLink(" ", "Delete", new { Id = item.Id }, new { onclick = "return confirm('Are you sure you wish to delete this property?');", @class = "glyphicon glyphicon-trash" }).ToString()
                )

1

हटाने पर छवि और पुष्टि के साथ, जो मोज़िला फ़ायरफ़ॉक्स पर काम करता है

<button> @Html.ActionLink(" ", "action", "controller", new { id = item.Id }, new { @class = "modal-link1", @OnClick = "return confirm('Are you sure you to delete this Record?');" })</button>
<style>
a.modal-link{ background: URL(../../../../Content/Images/Delete.png) no-repeat center;
            display: block;
            height: 15px;
            width: 15px;

        }
</style>

1

मैं वही चाहता था; मेरे विवरण दृश्य पर एक हटाएं बटन। मुझे अंततः एहसास हुआ कि मुझे उस दृश्य से पोस्ट करने की आवश्यकता है:

@using (Html.BeginForm())
        {
            @Html.AntiForgeryToken()
            @Html.HiddenFor(model => model.Id)
            @Html.ActionLink("Edit", "Edit", new { id = Model.Id }, new { @class = "btn btn-primary", @style="margin-right:30px" })

            <input type="submit" value="Delete" class="btn btn-danger" onclick="return confirm('Are you sure you want to delete this record?');" />
        }

और, नियंत्रक में:

 // this action deletes record - called from the Delete button on Details view
    [HttpPost]
    public ActionResult Details(MainPlus mainPlus)
    {
        if (mainPlus != null)
        {
            try
            {
                using (IDbConnection db = new SqlConnection(PCALConn))
                {
                    var result = db.Execute("DELETE PCAL.Main WHERE Id = @Id", new { Id = mainPlus.Id });
                }
                return RedirectToAction("Calls");
            } etc

0

यहां छवि विवरण दर्ज करेंMVC5 हटाएं संवाद और ग्लिफ़िकॉन के साथ। पिछले संस्करणों में काम कर सकते हैं।

@Html.Raw(HttpUtility.HtmlDecode(@Html.ActionLink(" ", "Action", "Controller", new { id = model.id }, new { @class = "glyphicon glyphicon-trash", @OnClick = "return confirm('Are you sure you to delete this Record?');" }).ToHtmlString()))

-1

रिकॉर्ड संदेश बॉक्स को अपडेट / एडिट / डिलीट करने से पहले कोई भी क्लिक इवेंट उपयोगकर्ता को सचेत करता है और यदि "ओके" कार्रवाई के लिए आगे बढ़ता है तो "रद्द" शेष रहता है। इस कोड के लिए अलग जावा स्क्रिप्ट कोड को सही करने की आवश्यकता नहीं है। इससे मेरा काम बनता है

<a asp-action="Delete" asp-route-ID="@Item.ArtistID" onclick = "return confirm('Are you sure you wish to remove this Artist?');">Delete</a>


-2

आप इसे Html.ActionLink DeleteId के लिए भी आज़मा सकते हैं


3
क्या आप इस उत्तर को थोड़ा समझा सकते हैं? शायद एक कोड स्निपेट प्रदान करें जो आपके सुझाव को प्रदर्शित करता है या वर्णन करता है कि ओपी के कोड में यह कहां जाना चाहिए?
skrrgwasme
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.