如何在ajax调用中包含被点击元素的id?

时间:2010-01-25 20:52:12

标签: ajax asp.net-mvc html-helper

我正在尝试将输入元素的ID“提交”和“跳过”,并根据按下的按钮执行一些逻辑。它似乎没有在Request对象中出现。我怎么能这样做?

<div id="modal">
    <% using (Ajax.BeginForm("Promo", new AjaxOptions { UpdateTargetId = "modal" }))
       { %>
    <div id="modal_inner">       
        <div style="clear: both;">
            <%= Html.TextBox("Data1")%>
            <input name="submitBtn" id="submitBtn" type="image" src="button_submit.gif" width="74" alt="Submit" />
            <input name="skipBtn" id="skipBtn" type="image" src="button_skip.gif" alt="Skip" />            
            <br />
        </div>
    </div>
    <% } %>
</div>

public JavaScriptResult Promo(string Data1)
        {
            string submitBtn = Request.Params["submitBtn"];
            string skipBtn = Request.Params["skipBtn"];
            if (skipBtn != null)
            {
                Session["Data1"] = "Default";
                return JavaScript("window.top.location.href ='" + Url.Action("Index", "Lead") + "';");
            }
            if (submitBtn != null && IsValidCode(Data1))
            {
                Session["Data1"] = Data1;
                return JavaScript("window.top.location.href ='" + Url.Action("Index", "Lead") + "';");
            }
            Session["Data1"] = "Default";
            return JavaScript("$('TB_window').dispose(); TB_show('', '#TB_inline?&width=344&height=294&inlineId=modal', '::::');");
        }

1 个答案:

答案 0 :(得分:0)

我使用jQuery遇到了同样的问题,它不会序列化我单击的表单元素的名称。我必须单独检测提交按钮的onclick,获取按钮的名称,并将其添加到序列化查询中,以便通过Ajax调用发回。

很抱歉,我不知道您在这里使用的是哪个Ajax框架,所以我无法帮助您了解实际的代码。