代码之家  ›  专栏  ›  技术社区  ›  Erx_VB.NExT.Coder

MVC 2.0:如何使用actionLink将简单的文本框值发送到action?

  •  1
  • Erx_VB.NExT.Coder  · 技术社区  · 15 年前

    基本上,我不想使用 <input type="submit"> 主要是因为它是一个按钮,我宁愿用户actionlink,所以我使用ajax.actionlink,我不确定在routevalues参数中放置什么来获取新的(编辑的)数据(用户输入注释等)并将其发送到我的操作。你们谁知道?谢谢。

    这是我所拥有的,但当然,它会在用户编辑回服务器/操作之前发送原始注释:)

    <%= Ajax.ActionLink("Update", "UpdateComment", Model.Comment,
          New AjaxOptions With
          {.UpdateTargetId = Model.CommentDivId, .HttpMethod = "Post"})%>
    

    PS:我知道如何在javascript中做到这一点,以及如何做Ajax文章等,希望能找到和MVC唯一的解决方案。

    4 回复  |  直到 15 年前
        1
  •  2
  •   user255464    15 年前

    基本上,在ActionLink和MVC中不能单独这样做,您需要使用JavaScript来实现您所追求的目标!如果你想使用javascript,上面有一些例子你可以选择!

    我真希望有一个HTML助手,所以我们不需要做杂乱的jquery混搭来访问实时表单数据,但是没有,也许有人可以创建一个助手并与我们共享它?

        2
  •  1
  •   Dax70    15 年前

    我建议您还是用表单包装注释字段,并用锚和一些javascript提交这些字段。

    <form id="the_form">
      <textarea id="comment"></textarea>
      <a href="javascript:{}" onclick="document.getElementById('the_form').submit(); return   false;">submit</a>
    </form>
    

    您可以很容易地用MVC中的htmlhelper或其他一些viewengine代码替换它,但重点是使用链接(锚标记)提交表单,并且参数将映射到action方法。

    希望能有所帮助,

    涡流

    另外,您也可以使用ajax.begininform来实现同样的效果。

        3
  •  0
  •   griegs    15 年前

    如果只是你担心的那个按钮,那为什么不应用一点CSS把这个按钮变成链接呢?没有人知道有什么不同,你就可以省去一点工作。

    如果这不是你想要的,那么告诉我,我可以删除这个答案。

    至于Ajax,我不确定您的模型是否会被更新,因为它应该超出范围。我认为这样做的方法是将所有数据作为变量传递。不是一个理想的解决方案。

    我将在这一个上使用CSS方法。

    编辑

    <head>
        <style>
            .buttonAsLink{ background-color:white; border:0; color:Blue; text-decoration:underline;}
            .buttonAsLink:hover{ text-decoration:none;}
        </style>
    </head>
    <body>
        <input class="buttonAsLink" type=submit value="Click Me" />
    </body>
    
        4
  •  0
  •   bkaid    15 年前

    单击HTML链接,用jquery调用Ajax怎么样?类似的东西 this this .