0

我正在尝试将命令名分配给 html 按钮,但显然它不能很好地工作。这就是我想要实现的目标:

  <button type="submit" class="btn btn-info right" CommandName="Login" runat="server" id="loginBtn"><span class="icon16 icomoon-icon-enter white"></span> Login</button>

  <asp:Button ID="btnLogin" CommandName="Login" runat="server" CssClass="btn btn-info right" Text="Login" />

由于某种原因,样式不适用于 asp 按钮,但它适用于 html 按钮。现在,如果可能的话,我想以某种方式将 commandname 属性分配给 html 按钮。大家觉得可行吗?每条评论都值得赞赏。提前致谢, Laziale

4

3 回答 3

1

CommandName仅适用于按钮服务器控件;不在 html 按钮中。

但是,您可以LinkButton按照自己的方式使用和设置样式。

在此处输入图像描述

在此处输入图像描述

<asp:LinkButton ID="btnLogin" class="button" runat="server"
CommandName="Login"><span>Login</span></asp:LinkButton>

.button
{   
    background: transparent url('/Images/ButtonLeft.gif') no-repeat top left;  
    display: block;
    float: left;
    line-height: 11px; /* 21px (Button Background) = 5px (padding-top) + 11px (font-size) + 5px(padding-bottom) */
    height: 21px; /* Button Background Height */
    padding-left: 9px;  
    text-decoration: none;
    font-weight: bold;
    color: white;
    font-size: 11px;    
}

a:link.button, a:visited.button, a:active.button
{
    color: white;
    text-decoration: none;
    margin-right: 10px;
}

a.button:hover
{ 
    background-position: bottom left;
}

a.button span, a.button span 
{
    background: transparent url('/Images/ButtonRight.gif') no-repeat top right;    
    display: block;
    padding: 5px 9px 5px 0; /*Set 9px below to match value of 'padding-left' value above*/
}

a.button:hover span
{ 
    background-position: bottom right;
    color: white;
}
于 2013-03-18T22:15:33.897 回答
0

我用谷歌找到了这个问题的答案;但是,由于我找到了更完整的答案,所以我也在回答这个问题,即使它比较旧(以防其他谷歌用户找到它)。

在 asp.net 中,您可以使用 DataControlCommands 类来实现以下功能:

  • 取消
  • 删除
  • 编辑
  • 第一的
  • 插入
  • 最后的
  • 新的
  • 下一个
  • 上一页
  • 选择
  • 种类
  • 更新

意思是 :

<asp:LinkButton runat="server" CommandName="Cancel" Text="Cancel" CausesValidation="false" />

除其他事项外。

它位于 System.Web.UI.WebControls (msdn.microsoft.com) 的库条目中

是的,您可以只放入 html 并使其正常工作-但是,如果您正在构建诸如动态实体站点(等)之类的东西,那么花时间学习 asp.net 是如何固有地做到这一点是值得的(imo) .

于 2014-04-16T13:23:05.330 回答
0

如果您将 HiddenField 放在 htmlbutton 中,然后 Find child 会更好

<button runat="server"
    ClientIDMode="Static"
    class="btn btn-success"
    ID="button_recalculate"
    OnServerClick="button_recalculate_OnClick"
    >
    <asp:HiddenField runat="server" ID="hidden" Value=<%#Eval("ID") %>/>
    Voir
</button>

服务器

try
{
    var type = (HtmlButton) sender;
    var child = type.FindControl("hidden");
    var id = ((HiddenField) child).Value.TransformToInt();
    SendValueToServer(id);
}
catch (Exception)
{
    //
}
于 2017-01-04T02:10:20.770 回答