相关疑难解决方法(0)

停止标记生成器转义单引号ASP.NET MVC 2

我有以下HtmlHelper方法,我想创建一个使用JavaScript重定向的按钮:

public static string JavaScriptButton(this HtmlHelper helper, string value,
                        string action, string controller, object routeValues = null, object htmlAttributes = null)
{
    var a = (new UrlHelper(helper.ViewContext.RequestContext))
                            .Action(action, controller, routeValues);

    var builder = new TagBuilder("input");
    builder.Attributes.Add("type", "submit");
    builder.Attributes.Add("value", value);
    builder.Attributes.Add("class", "button");
    builder.Attributes.Add("onclick", string.Format("javascript:location.href='{0}'", a));
    builder.MergeAttributes(new RouteValueDictionary(htmlAttributes));

    return MvcHtmlString.Create(builder.ToString(TagRenderMode.SelfClosing)).ToString();         
}
Run Code Online (Sandbox Code Playgroud)

问题是创建onclick处理程序的行被tagbuilder转义,生成的html是:

<input class="button" onclick="javascript:location.href=&#39;&#39;" type="submit" value="Return to All Audits" />
Run Code Online (Sandbox Code Playgroud)

无论如何我可以阻止这种行为吗?

asp.net asp.net-mvc-2

16
推荐指数
2
解决办法
7104
查看次数

将GridView列值传递给Javascript函数 - OnClientClick

我有这样的网格视图:

<asp:SqlDataSource ID="SqlPersistentOffenders" runat="server"></asp:SqlDataSource>
    <asp:GridView ID="GVPersistentOffenders" runat="server" DataSourceID="SqlPersistentOffenders" AllowPaging="true" AutoGenerateColumns="false">
    <Columns>
        <asp:TemplateField HeaderText="PersonID" Visible="false">
            <ItemTemplate>
                 <asp:Label ID="LabCreUser" runat="server" Text='<%# Bind("creUser")%>'></asp:Label>                       
            </ItemTemplate>
        </asp:TemplateField>
         <asp:TemplateField>
            <ItemTemplate>
                <asp:Button ID="ButtonSendEmail" runat="server" CommandName="SendEmail" CommandArgument="<%# CType(Container,GridViewRow).RowIndex %>" Text="Send Email" OnClientClick="GetEmailAddress()"/>                     
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>
Run Code Online (Sandbox Code Playgroud)

JavaScript看起来像这样:

<script type="text/javascript">
        function GetEmailAddress(creuser) {
           //Do something
}
</script>
Run Code Online (Sandbox Code Playgroud)

如何将LabCreUser中的值传递给选择的行到Javasript函数?

我看过这里:在onclientclick中将变量传递给javascript以及其他一些问题.我没有尝试过任何工作.

javascript vb.net asp.net

2
推荐指数
1
解决办法
8894
查看次数

标签 统计

asp.net ×2

asp.net-mvc-2 ×1

javascript ×1

vb.net ×1