asp.net中的html按钮类型和命令名

时间:2013-03-18 21:05:01

标签: c# asp.net button twitter-bootstrap .net-3.5

我正在尝试将命令名分配给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

3 个答案:

答案 0 :(得分:1)

CommandName仅适用于Button Server Control;不在HTML按钮。

但是,您可以使用LinkButton并按照您希望的方式设置样式。

enter image description here

enter image description here

<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;
}

答案 1 :(得分:0)

我用谷歌找到了这个问题的答案;然而,因为我已经找到了更完整的答案,我也回答了这个问题,即使它已经过时了(如果其他任何一个googlers找到它)。

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

  • 取消
  • 删除
  • 修改
  • 第一
  • 插入
  • 最后
  • 下一步
  • 上一页
  • 选择
  • 排序
  • 更新

这意味着:

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

等等。

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

是的你可以放入html并让它工作正常 - 但是如果你正在构建类似动态实体网站(等)的东西,那么花时间去了解asp.net如何做它本身是值得的(IMO)。

答案 2 :(得分:0)

如果你把HiddenField放在html按钮然后找到孩子

,那就更好了
<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)
{
    //
}