2013-03-18 54 views
0

我想将命令名分配给html按钮,但显然它不能很好地工作。 这就是我想实现:asp.net中的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

回答

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

0
更好

,如果你把HiddenField在htmlbutton,然后找到孩子

<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) 
{ 
    // 
} 
+0

与答案添加一些解释如何回答帮助OP在固定电流问题 – 2017-01-04 02:34:03