Ich möchte jQuery-Dialog verwenden, um Code zu ersetzen, den ich gerade in einer ASP.NET MVC-Anwendung verwende. Der alte Code verwendete "Senden" -Schaltflächen mit unterschiedlichen "Wert" -Einstellungen. Ich würde auch gerne wissen, ob es einen besseren Ansatz gibt.Wie man mit jQuery-Dialog mit Schaltflächen mit anderen Werten einreicht
Dies ist ein Beispiel für den vorhandenen Code in der Ansicht:
<%using (Html.BeginForm("SubmitValue", "MyController", FormMethod.Post))
{ %>
<span class="field-description">My Value: </span>
<input id="myTextValue" maxlength="6" name="myValue" type="text"/>
<%=Html.Hidden("myModel.myProperty1", Model.PropertyValue1) %>
<%=Html.Hidden("myModel.myProperty2", Model.PropertyValue2) %>
<div class="pageaction button">
<strong>
<input name="submitButton" type="submit" value="Save"/>
</strong>
<strong>
<input name="submitButton" type="submit" value="Delete"/>
</strong>
<strong>
<input type="button" value="Cancel" />
</strong>
</div>
<% } %>
Der Regler den Wert der Taste gedrückt einreichen:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult SubmitValue(MyModel model, string submitButton)
{
_request.myProperty1= model.PropertyValue1;
_request.myProperty2= model.PropertyValue2;
if (submitButton == "Save")
{_myService.UpdateValue(_request);}
else
{_myService.DeleteValue(_request);}
return View("MyView", _request);
}
Für die jQuery UI, würde ich gerne den "buttons" -Teil des Codes verwenden, um die Submit-Werte zu verarbeiten.
$(function() {
$("#dialogWindow").dialog({
bgiframe: true,
autoOpen: false,
height: 200,
modal: true,
open: function(e, ui) {
$("#dialogWindow :input[name='myValue']").val(currentValue);
},
buttons: {
'Save': function() {
// TODO: submit as if a submit button with the value 'Save' is used
$(this).dialog('close');
},
'Delete': function() {
// TODO: submit as if a submit button with the value 'Delete' is used
$(this).dialog('close');
},
Cancel: function() {
$(this).dialog('close');
}
},
close: function() {
//close code
}
});
});