2014-10-17 66 views
0

我有3个ASPLink按钮:已解决,未解决的,取消更新场点击

我希望能够基于点击该按钮更改ResolutionStatusID领域。我不确定如何做到这一点。

当未解决的按钮被点击的值ResolutionStatusID = 3

当取消按钮被点击的ResolutionStatusID的值= 4

当解决按钮被点击的值ResolutionStatusID = 5

代码下面

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ApplicationServices %>" 
    DeleteCommand="DELETE FROM [HardwareFault] WHERE [HardwareFaultID] = @HardwareFaultID" 
    InsertCommand="INSERT INTO [HardwareFault] ([FaultTitle], [ResolutionStatusID], [Message], [LoggedBy], [DateTimeLogged]) VALUES (@FaultTitle, @ResolutionStatusID, @Message, @LoggedBy, @DateTimeLogged)" 
    SelectCommand="SELECT dbo.ResolutionStatus.ResolutionName, dbo.HardwareFault.*, dbo.aspnet_Users.UserId, dbo.aspnet_Users.UserName FROM dbo.HardwareFault LEFT OUTER JOIN dbo.aspnet_Users ON dbo.HardwareFault.LoggedBy = dbo.aspnet_Users.UserId LEFT OUTER JOIN dbo.ResolutionStatus ON dbo.HardwareFault.ResolutionStatusID = dbo.ResolutionStatus.ResolutionStatusID WHERE [HardwareID] = @HardwareID" 
    UpdateCommand="UPDATE [HardwareFault] SET [ResolutionStatusID] = @ResolutionStatusID WHERE [HardwareFaultID] = @HardwareFaultID"> 



    <DeleteParameters> 
     <asp:Parameter Name="HardwareFaultID" Type="Int32" /> 
    </DeleteParameters> 
    <SelectParameters> 
      <asp:QueryStringParameter DefaultValue="1" Name="HardwareID" QueryStringField="HardwareID" /> 
    </SelectParameters> 
    <InsertParameters> 
     <asp:Parameter Name="FaultTitle" Type="String" /> 
     <asp:Parameter Name="ResolutionStatusID" Type="Int32" /> 
     <asp:Parameter Name="Message" Type="String" /> 
     <asp:Parameter Name="LoggedBy" Type="String" /> 
     <asp:Parameter Name="DateTimeLogged" Type="DateTime" /> 
    </InsertParameters> 
    <UpdateParameters> 
     <asp:Parameter Name="ResolutionStatusID" Type="Int32" /> 
    </UpdateParameters> 
</asp:SqlDataSource> 


<div> 

<asp:ListView ID="ListView1" runat="server" DataKeyNames="HardwareFaultID" DataSourceID="SqlDataSource1"> 

    <ItemTemplate> 
     <tr style=""class="<%# Eval("ResolutionName") %>"> 

      <td> 

       <div class="btn-group"> 
        <a class="btn btn-mini dropdown-toggle" style="text-decoration:none; padding:3px 6px 3px 5px;" href="#" data-toggle="dropdown" title="Change Status"> 
         <span class="icon16 icomoon-icon-cog-2" style="padding-top:7px;"></span> 
         <span class="caret" style="margin-top:10px;"></span> 
        </a> 
        <ul class="dropdown-menu" style="top: 33px; left: -75px; min-width: 110px; font-size: 12px;"> 

         <li> 
           <asp:LinkButton ID="Resolved" OnClientClick="javascript:return confirm('Are you sure you want to change this fault to Resolved?');" runat="server" CssClass="miniDropdown">Resolved <span class="btn btn-success icon16 icomoon-icon-checkmark-2" style="text-decoration:none; padding:3px 6px 7px 5px;"></span></asp:LinkButton> 
         </li> 
         <li> 
           <asp:LinkButton ID="Unresolved" OnClientClick="javascript:return confirm('Are you sure you want to change this fault to Unresolved?');" runat="server" CssClass="miniDropdown">Unresolved <span class="btn btn-info icon16 typ-icon-question" style="text-decoration:none; padding:3px 6px 7px 5px;"></span></asp:LinkButton> 
         </li> 
         <li> 
           <asp:LinkButton ID="Cancel" OnClientClick="javascript:return confirm('Are you sure you want to Cancel this fault?');" runat="server" CssClass="miniDropdown" CommandName="Update">Cancelled <span class="btn btn-danger icon16 icomoon-icon-blocked" style="text-decoration:none; padding:3px 6px 7px 5px;"></span></asp:LinkButton> 
         </li> 
        </ul> 
       </div> 
      </td> 
     </tr> 
    </ItemTemplate> 

</asp:ListView> 

</div> 
+0

那么,你有什么问题:

<asp:ListView OnItemCommand="ListView1_ItemCommand1"> <ItemTemplate> <asp:LinkButton CommandName='Resolved' CommandArgument='<%# Eval("ID")%>' ID="Resolved"></asp:LinkButton> <asp:LinkButton CommandName='Unresolved' CommandArgument='<%# Eval("ID")%>' ID="Unresolved"></asp:LinkButton> <asp:LinkButton CommandName='Cancel' CommandArgument='<%# Eval("ID")%>' ID="Cancel"></asp:LinkButton> </ItemTemplate> </asp:ListView> 

C#代码(在e.CommandName决定)?不要说“这不行”。 – 2014-10-17 02:09:27

+0

我不知道如何做到这一点。我尝试了很多方法来从后面的代码更新字段,但我显然没有正确地做到这一点 – LeeO123 2014-10-17 03:42:01

回答

0

我想你应该找到列表视图的链接按钮的控制和做任何你想做

在asp网页

<asp:LinkButton ID="simjoblin" runat="server" OnClick="simjoblin_Click" CommandName='<%# Eval("ID")%>' class="ns_empoptions ns_similrjobs"> 

在C#页

protected void simjoblin_Click(object sender, EventArgs e) 
{ 
    LinkButton jid = sender as LinkButton; 
    string jobid = jid.CommandName; 
//do what you want 

} 

希望这将帮助你

0

您可以使用项目命令 listview的功能。在您的LinkBut​​tons中添加OnItemCommand事件和地点CommandName ='...'CommandArgument ='<%#Eval(“ID”)%>'

protected void ListView1_ItemCommand1(object sender, ListViewCommandEventArgs e) 
{ 
    switch (e.CommandName) 
    { 
     case "Resolved": 
      // do sth 
      break; 
     case "Unresolved": 
      // do sth 
      break; 
     case "Cancel": 
      // do sth 
      break; 
     default: 
      break; 
    } 
}