微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将ASP.NET代码迁移到MVC

如何解决如何将ASP.NET代码迁移到MVC

我想将以下asp.net代码迁移到MVC。但是,我的所有尝试都失败了。以下代码用户单击时的按钮,它必须显示用户电费发票的表格。请记住,我是Web开发的新手。

<asp:LinkButton  CommandArgument='<%#Eval("BIL_ISSU_Y") + ";" +Eval("BIL_ISSU_M")%>'  ID="lnkInvDets" ForeColor="#3294C3" Font-Underline="false" runat="server" 
                                                            OnClientClick='<%# String.Format("window.open(\"SubInvoiceDetails.aspx?IssuYM=\" + \"{0}\" + \"{1}&CityId=\"+ \"{2}&CusmId=\"+ \"{3}\",\"Test\",\"menubar=0,resizable=0,width=630,height=800,position=fixed,top= calc(50% - 25px),left= calc(50% - 50px),scrollbars=1\",\"\").moveto(500,0);",Eval("BIL_ISSU_Y"),Eval("BIL_ISSU_M"),Eval("BIL_CITY"),Eval("BIL_NUM")) %>' CausesValidation="false"  CommandName="InvoiceDetails">details</asp:LinkButton>

解决方法

要在asp.net核心应用程序中显示链接按钮,可以尝试使用<a>标签。

根据您的代码,我想您正在使用Asp.net数据控件在网页中显示记录,并使用链接按钮显示详细信息。在Asp.net核心应用程序中,要在网页中显示记录,可以使用Strongly typed data将数据传递到视图,并在<table>元素中显示数据,然后使用{{1} }标签以在表格中显示相关的链接按钮。有关更多详细信息,请参阅:Tutorial: Get started with EF Core in an ASP.NET MVC web app

要通过<a>标签传递多个参数,可以参考以下代码(使用字典传递多个参数):

<a>
控制器方法中的

代码:

@model IEnumerable<MovieSamples.Models.Movie>

<table class="table">
    <thead>
        <tr>
            ... @*table headers*@
        </tr>
    </thead>
    <tbody>
@foreach (var item in Model) {
        <tr>
            ... @*other table columns*@
            <td>
                <a asp-action="Edit" asp-route-id="@item.Id">Edit</a> |
                @*<a asp-action="Details" asp-route-id="@item.Id">Details</a> |*@
                @{
                    //define a variable to add parameters
                    var parms = new Dictionary<string,string>
                                {
                                { "id",item.Id.ToString() },{ "releaseDate",item.ReleaseDate.ToString() },{ "genre",item.Genre!=null? item.Genre.ToString():"Null"}
                            };
                    //generate the javascript script.
                    var popupwindow =string.Format("event.preventDefault(); window.open(\"/Movies/Details?id={0}&releaseData={1}&genre={2}\",\"Test\",\"menubar=0,resizable=0,width=630,height=800,position=fixed,top= calc(50% - 25px),left= calc(50% - 50px),scrollbars=1\",\"\").moveTo(500,0);",item.Id,item.ReleaseDate,item.Genre);
                }
                <a asp-action="Details"  asp-all-route-data="parms"  onclick="@popupwindow"
                   data-id="@item.Id" data-ReleaseData="@item.ReleaseDate" >Details</a>|
                <a asp-action="Delete" asp-route-id="@item.Id">Delete</a>
            </td>
        </tr>
}
    </tbody>
</table>

有关在Asp.net核心中使用 public async Task<IActionResult> Details(int? id,string releaseDate,string genre) { 标记的更多详细信息,请参阅:Anchor Tag Helper in ASP.NET Core

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。