簡體   English   中英

區域 asp.net cor mvc 的 Url.Action

[英]Url.Action for area asp.net cor mvc

Javascript代碼:

<script type="text/javascript">

              url = '/Masters/GLMaster/SearchGLPartial';
               // url='@Url.Action("SearchGLPartial", "GLMaster")';
               
                let name = document.getElementById("Name").value;
                let code = document.getElementById("Code").value;
             

                var data = { "Name": name, "Code": code};
                var o = Object.keys(data).map(k => k + "=" + encodeURIComponent(data[k])).join("&")
               
              var resulturl=url + "?" + o;


    ...other code

</script>

如果我將硬編碼的 url 更改為以下代碼

url='@Url.Action("SearchGLPartial", "GLMaster", new { area = "Masters" })';

我的沒有區域的代碼工作正常。它生成帶有參數的 url..

但是對於區域不起作用

當前結果:(網址)

  '/GLMaster/SearchGLPartial?area=Masters';

我還需要附加附加參數..它是沖突的

預期輸出: 'Masters/GLMaster/SearchGLPartial';

編輯:

我的端點路由配置:

 app.UseEndpoints(endpoints =>
            {
            
                endpoints.MapControllerRoute(name: "default", pattern: "{controller=Home}/{action=LandPage}/{id?}");
                endpoints.MapControllerRoute( name: "areas", pattern: "{area:exists}/{controller=Home}/{action=Index}/{id?}");
             

                                
            });

更改路線模板的順序,如下所示:

app.UseEndpoints(endpoints =>
{         
     endpoints.MapControllerRoute( name: "areas", pattern: "{area:exists}/{controller=Home}/{action=Index}/{id?}");
     endpoints.MapControllerRoute(name: "default", pattern: "{controller=Home}/{action=LandPage}/{id?}");                               
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM