J'ai un bloc de code comme suit:comment déclencher window.open par Html.ActionLink dans ASP.NET MVC 4
@foreach (System.Data.DataRow drEquipment in Model.EquipmentList.Rows)
{
<tr>
<td valign="top">@drEquipment["ColumnName"]<br /></td>
<td valign="top">@drEquipment["ColumnName"] - @drEquipment["ColumnName"]<br /></td>
<td valign="top">@drEquipment["ColumnName"]</td>
<td valign="top">@drEquipment["ColumnName"] - @drEquipment["ColumnName"]</td>
<td>@Html.ActionLink("Güncelle", "UpdateAction", new { SerialNumber = drEquipment["ColumnName"], StockSpecCd = drEquipment["ColumnName"], ResourceSpecTypeCd = drEquipment["ColumnName"] }, new { popup="{\"height\":250, \"width\":350}" })</td>
</tr>
}
@Html.ActionLink("Update", "UpdateAction", new { SerialNumber = drEquipment["ColumnName"], StockSpecCd = drEquipment["ColumnName"], ResourceSpecTypeCd = drEquipment["ColumnName"], new { popup="{\"height\":250, \"width\":350}" })
Il fonctionne bien comme ça, mais je ne pouvais pas le site du centre popup de la écran. C'est pourquoi j'ai un événement onclick comme suit:
onclick="MyPopup('/Account/UpdateAction', '350', '250')"
Je ne pouvais pas utiliser une variable comme id à utiliser e.preventDefault parce qu'il ya une instruction foreach.
-je résoudre ce problème sur l'événement bouton de clic et il fonctionne bien:
<button onclick="MyPopup('/Account/UpdateAction', '350', '250')">Update</button>
function MyPopup(url, width, height) {
var leftPosition, topPosition;
//Allow for borders.
leftPosition = (window.screen.width/2) - ((width/2) + 10);
//Allow for title and status bars.
topPosition = (window.screen.height/2) - ((height/2) + 50);
//Open the window.
window.open(url, "_blank",
"status=no,height=" + height + ",width=" + width + ",resizable=yes,left="
+ leftPosition + ",top=" + topPosition + ",screenX=" + leftPosition + ",screenY="
+ topPosition + ",toolbar=no,menubar=no,scrollbars=no,location=no,directories=no");
}
Mais je ne pouvais pas utiliser ma fonction avec Html.ActionLink. J'ai mis un événement onclick en tant que htmlAttritube mais cela n'a pas fonctionné.
Ce dont j'ai exactement besoin, c'est de passer mes paramètres au contrôleur et d'ouvrir une nouvelle fenêtre _blank "centre du site de l'écran". J'ai tous mes besoins sans le dernier.
Comment résoudre ce problème?
Vous ne fournissez pas les propriétés 'url',' largeur' ou 'height' lorsque vous appelez la fonction. Maintenant, j'ai formaté votre question, vous pouvez également voir que vous avez une erreur de syntaxe dans le ActionLink –
Excusez-moi. C'est de ma faute. Mon code exact est le suivant: @ Html.ActionLink ( "Mise à jour", "#", nouveau { SerialNumber = drEquipment [ "SERIAL_NUMBER"], StockSpecCd = drEquipment [ "STOCK_SPEC_CD"], ResourceSpecTypeCd = drEquipment [ » RESOURCE_SPEC_TYPE_CD "], new { popup =" {\ "height \": 250, \ "width \": 350} ", onclick =" MyPopup ('/ Compte/EquipementEdit', '350', '250') " }) J'ai essayé d'utiliser Html.Actionlink, mais je veux également définir le nouveau popup au centre de l'écran. – tdog
Vous pouvez utiliser le bouton 'edit' pour mettre à jour le code dans la question. –