stevenjin 2024-07-25 10:33 采纳率: 97.3%
浏览 1
已结题

@Html.ActionLink传递参数失败,不知路由是否设置错误

参数p1=@product.No的赋值,使用等号 = 或 @都不行,在Program中设置了路由,不知是不是这个引起的?


@Html.ActionLink(@product.Name,"ProductView","Home",new{p1=@product.No}, new {@name="egg",@style="width:8rem", @class = "input-group-addon d-block my-auto fw-bold" })

public IActionResult ProductView(int p1)
    {}
    app.MapControllerRoute(
        name: "default",
        pattern: "{controller=Home}/{action=Index}/{id?}");

public IActionResult ProductView(int p1)
{
    // 检查 p1 的值
    System.Diagnostics.Debug.WriteLine("ProductView received p1: " + p1);
    // 其他代码...
}
  • 写回答

3条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-07-25 10:33
    关注

    引自免费微信小程序:皆我百晓生

    你的问题似乎是在使用ASP.NET MVC的@Html.ActionLink时遇到了参数传递的问题。根据你的描述,你在路由设置中并没有直接涉及到参数p1的处理,那么这个问题很可能不是由路由设置导致的。考虑到这一点,我们应从几个方面去查找可能的问题和解决方案。

    首先,关于你的代码片段中存在的一些问题或可能的问题点,这里有几个观察和建议:

    1. @Html.ActionLink中的参数传递应该是正确的,你使用了new { p1 = @product.No }来传递参数p1的值。但是,确保@product.No的值是有效的并且不为空。如果它是null或者空字符串,可能会引发问题。

    2. 在路由配置中,你设置的路由模式匹配到的是带有参数的URL,但这并不会影响到你在ActionLink中的参数传递方式。也就是说,你设置的路由不会影响@Html.ActionLink的调用方式。你的路由配置是正确的,并且符合你的期望。因此,路由配置本身应该不是问题所在。

    接下来是一些可能的解决方案:

    • 确保 @product.No 是有效的并且不是null或空字符串。你可以在代码中检查这个值是否有效。例如:
    if (string.IsNullOrEmpty(@product.No)) {
        // 处理无效或缺失的No值的情况
    } else {
        // 继续使用 @Html.ActionLink 进行链接生成
    }
    
    • 确保你的Controller中对应的方法ProductView正确接收参数p1。这个方法在获取请求的时候,如果无法找到对应名称的路由参数,可能会导致问题。请确认方法的参数名是否与路由中指定的参数名匹配。如果一切都没有问题,可以尝试以下步骤:
    • 确保你使用的是ASP.NET MVC的正确版本并且你的代码没有其他与版本相关的错误。不同的ASP.NET MVC版本可能会有不同的路由机制和行为。确认你的项目设置和依赖项都是正确的版本。
    • 如果以上步骤都没有解决问题,尝试使用更简单的ActionLink调用以确认是否还存在问题。你可以尝试使用一个不带参数的ActionLink调用作为对比测试。这样可以帮助你确认问题是否出在参数传递上。例如:
    @Html.ActionLink(@product.Name, "ProductView", "Home") // 不带参数测试调用
    

    这样你可以判断是不是因为特定的参数传递引起的错误。如果这个调用正常工作,你可以逐渐添加更多的参数进行测试。请注意一次不要改变太多内容以免难以确定问题所在。逐个步骤排查问题有助于找到问题的根源并解决它。如果问题仍然存在,请提供更多关于错误消息的详细信息以便进一步分析。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 8月2日
  • 已采纳回答 7月25日
  • 修改了问题 7月25日
  • 创建了问题 7月25日

悬赏问题

  • ¥15 网络分析设施点无法识别
  • ¥15 状态图的并发态问题咨询
  • ¥15 PFC3D,plot
  • ¥15 VAE模型编程报错无法解决
  • ¥100 基于SVM的信息粒化时序回归预测,有偿求解!
  • ¥15 物体组批优化问题-数学建模求解答
  • ¥15 微信原生小程序tabBar编译报错
  • ¥350 麦克风声源定位坐标不准
  • ¥15 apifox与swagger使用
  • ¥15 egg异步请求返回404的问题