GridView页脚应用

前台:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="SetGradeItemsRules.aspx.cs" Inherits="yjp_SetVoteRules" EnableEventValidation="false"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <table width="80%" align="Center" cellpadding="0" cellspacing="0">
            <tr>
                <td>        <asp:GridView Width="100%" ID="gv_GradeItem" runat="server" AutoGenerateColumns="False" ShowFooter="True" OnRowDataBound="gv_GradeItem_RowDataBound" CellPadding="4" ForeColor="#333333" GridLines="None" OnRowCommand="gv_GradeItem_RowCommand1" AllowPaging="True" OnPageIndexChanging="gv_GradeItem_PageIndexChanging">
        <Columns>
            <asp:TemplateField HeaderText="评分项">
                <EditItemTemplate>
                    <asp:TextBox ID="txt_GradeItemName" runat="server" Text='<%# Bind("GradeItemName") %>'></asp:TextBox>
                </EditItemTemplate>
                <FooterTemplate>
                    <asp:TextBox ID="txt_GradeItemName" runat="server" Width="90%" ></asp:TextBox>
                </FooterTemplate>
                <ItemTemplate>
                    <asp:Label ID="Label1" runat="server" Text='<%# Bind("GradeItemName") %>'></asp:Label>
                   
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="总分">
                <EditItemTemplate>
                    <asp:TextBox ID="txt_MaxPoint" runat="server" Text='<%# Bind("MaxPoint") %>' Width="87px"></asp:TextBox>
                </EditItemTemplate>
                <FooterTemplate>
                    <asp:TextBox ID="txt_MaxPoint" runat="server" Width="90%" ></asp:TextBox>
                </FooterTemplate>
                <ItemTemplate>
                    <asp:Label ID="Label2" runat="server" Text='<%# Bind("MaxPoint") %>'></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="评分类型">
       <EditItemTemplate>
         <asp:DropDownList ID="ddl_DGradedType"  runat="server" DataSourceID="SqlDataSource1" DataTextField="GradeTypeName" DataValueField="GradeTypeID" ></asp:DropDownList>
                <asp:HiddenField ID="HiddenField1" runat="server" Value='<%# Eval("GradeTypeID")%>' />
       </EditItemTemplate>
            <ItemTemplate>
             <asp:DropDownList ID="ddl_DGradedType"  runat="server" DataSourceID="SqlDataSource1" DataTextField="GradeTypeName" DataValueField="GradeTypeID" Enabled=false ></asp:DropDownList>
                <asp:HiddenField ID="HiddenField1" runat="server" Value='<%# Eval("GradeTypeID")%>' />
<%--                    <asp:Label ID="lbl_type" runat="server" Text='.ToString()=="1"?"电脑评分":"专家评分" %>'></asp:Label>
--%>            </ItemTemplate>
                <FooterTemplate>
                    <asp:DropDownList ID="ddl_GradedType"  runat="server" DataSourceID="SqlDataSource1" DataTextField="GradeTypeName" DataValueField="GradeTypeID" Width="90%">
                 
                    </asp:DropDownList>
                   
                </FooterTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="操作">
                <FooterTemplate>
                    <asp:Button ID="Button1" runat="server" Text="添加" OnClick="Button1_Click1" Font-Size="9pt" />
                </FooterTemplate>
                <ItemTemplate>
                    <asp:Button ID="btn_modify" runat="server" CommandName="Modify"  Text="修改" Font-Size="9pt" />
                    <asp:Button ID="btn_del" runat="Server" CommandName="del" Text="删除" CommandArgument='<%#Eval("GradedItemID") %>' Font-Size="9pt"/>
                      <asp:Button ID="Button2" runat="server" Text="明细操作" CommandName="GradeRule" CommandArgument='<%#Eval("GradedItemID") %>' Font-Size="9pt" />
                </ItemTemplate>
                <EditItemTemplate>
                    <asp:Button ID="Button3" runat="server" Text="更新" CommandName="N_update" CommandArgument='<%#Eval("GradedItemID") %>' Font-Size="9pt" />
                    <asp:Button ID="Button4" runat="server" Text="取消" CommandName="N_Cancel" CommandArgument='<%#Eval("GradedItemID") %>' Font-Size="9pt"/>
                </EditItemTemplate>
            </asp:TemplateField>
         
         
        </Columns>
            <FooterStyle HorizontalAlign="Center" VerticalAlign="Middle" BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
            <RowStyle HorizontalAlign="Center" VerticalAlign="Middle" BackColor="#EFF3FB" Font-Size="9pt" />
            <EditRowStyle BackColor="#2461BF" />
            <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
            <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
            <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" Font-Size="9pt" />
            <AlternatingRowStyle BackColor="White" />
        </asp:GridView>

                </td>
                <td valign="top">
                    <asp:GridView Width="100%" ID="gv_GradeRules" runat="server" AutoGenerateColumns="False" CellPadding="4" ForeColor="#333333" GridLines="None" OnRowCommand="gv_GradeRules_RowCommand" ShowFooter="True" OnRowDataBound="gv_GradeRules_RowDataBound" BorderColor="Black" BorderStyle="Solid" BorderWidth="1px">
                        <Columns>
                            <asp:TemplateField HeaderText="明细项">
                                <EditItemTemplate>
                                    <asp:TextBox ID="TextBox1" runat="server" Text='<%#Eval("GradedItemExplain") %>'></asp:TextBox>
                                </EditItemTemplate>
                                <ItemTemplate>
                                    <asp:Label ID="Label1" runat="server" Text='<%#Eval("GradedItemExplain") %>'></asp:Label>
                                </ItemTemplate>
                                <FooterTemplate>
                    <asp:TextBox ID="txt_GradedItemExplain" runat="server" Width="90%" ></asp:TextBox>
                </FooterTemplate>
                            </asp:TemplateField>
                            <asp:TemplateField HeaderText="分数">
                                <EditItemTemplate>
                                    <asp:TextBox ID="TextBox2" runat="server" Text='<%#Eval("GradePoint") %>' Width="90%"></asp:TextBox>
                                </EditItemTemplate>
                                <ItemTemplate>
                                    <asp:Label ID="Label2" runat="server" Text='<%#Eval("GradePoint") %>'></asp:Label>
                                </ItemTemplate>
                                 <FooterTemplate>
                    <asp:TextBox ID="txt_Point" runat="server" Width="90%" ></asp:TextBox>
                </FooterTemplate>
                            </asp:TemplateField>
                            <asp:TemplateField HeaderText="操作">
                                 <FooterTemplate>
                    <asp:Button ID="Button1" runat="server" Text="添加" OnClick="btn_addGradeRules" Font-Size="9pt" />
                </FooterTemplate>
                <ItemTemplate>
                    <asp:Button ID="btn_modify" runat="server" CommandName="Modify"  Text="修改" Font-Size="9pt" />&nbsp;
                                        <asp:Button ID="btn_del" runat="Server" CommandName="del" Text="删除" CommandArgument='<%#Eval("GradeRuleID") %>' Font-Size="9pt"/>

<%--                      <asp:Button ID="Button2" runat="server" Text="明细操作" CommandName="GradeRule" CommandArgument='<%#Eval("GradeRuleID") %>' />
--%>                </ItemTemplate>
                <EditItemTemplate>
                    <asp:Button ID="Button3" runat="server" Text="更新" CommandName="N_update" CommandArgument='<%#Eval("GradeRuleID") %>' Font-Size="9pt" />
                    <asp:Button ID="Button4" runat="server" Text="取消" CommandName="N_Cancel" CommandArgument='<%#Eval("GradeRuleID") %>' Font-Size="9pt"/>
                </EditItemTemplate>
                            </asp:TemplateField>
                        </Columns>
                        <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" HorizontalAlign="Center" VerticalAlign="Middle" />
                        <RowStyle BackColor="#EFF3FB" Font-Size="9pt" HorizontalAlign="Center" VerticalAlign="Middle" />
                        <EditRowStyle BackColor="#2461BF" />
                        <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
                        <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
                        <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" Font-Size="9pt" />
                        <AlternatingRowStyle BackColor="White" />
                    </asp:GridView>
                </td>
            </tr>
        </table>
    
        &nbsp;&nbsp;<asp:SqlDataSource ID="SqlDataSource1" runat="server"></asp:SqlDataSource>
    </div>
    </form>
</body>
</html>

后台:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

public partial class yjp_SetVoteRules : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            DDL_GradedType_DataBound();

            gv_GradeItem_DataBound();
        }

    }

    private void DDL_GradedType_DataBound()
    {
        SqlDataSource1.ConnectionString = CommonClass.ConnectionString;
        SqlDataSource1.SelectCommand = "select * from Project_GradeTypes ";
    }

 

    public void gv_GradeItem_DataBound()
   {
       string selectString = "select GradedItemID,GradeItemName,GradeTypeID,Maxpoint from Project_GradedItems";// where GradeTypeID=0";// +ddl_GradeType.SelectedValue;

       AheadDataSource.IAheadDataLinker linker = CommonClass.GetDataLinker();
       System.Data.DataTable table = linker.GetDataFormString(selectString);


       if (table.Rows.Count == 0)
       {
           DataRow dr = table.NewRow();
           table.Rows.Add(dr);


       }

       gv_GradeItem.DataSource = table;
       gv_GradeItem.DataBind();
    }

 
    protected void gv_GradeItem_RowDataBound(object sender, GridViewRowEventArgs e)
    {
      
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                DropDownList ddl_type = (DropDownList)e.Row.FindControl("ddl_DGradedType");
                HiddenField hd = (HiddenField)e.Row.FindControl("HiddenField1");
                ddl_type.SelectedValue = hd.Value;
               // Button btn_del = (Button)e.Row.FindControl("btn_del");
              //  btn_del.Attributes.Add("onclick", "return confirm('此操作将删除所有依赖项!继续吗?')");
                foreach (System.Web.UI.WebControls.TableCell cell in e.Row.Cells)
                {
                    foreach (System.Web.UI.Control control in cell.Controls)
                    {
                        if (control is System.Web.UI.WebControls.Button)
                        {
                           System.Web.UI.WebControls.Button  btn_del=(System.Web.UI.WebControls.Button)control;
                            if(btn_del.CommandName =="del" )
                            {
                                btn_del.Attributes.Add("onclick", "return confirm('此操作将删除所有依赖项!继续吗?')");
                            }
                        }
                    }
                }
                if (e.Row.Cells[0].Controls[1] is Label)
                {
                    if (((Label)e.Row.Cells[0].Controls[1]).Text == string.Empty)
                    {
                        e.Row.Cells[2].Controls[1].Visible = false;
                        e.Row.Cells[3].Controls[1].Visible = false;
                        e.Row.Cells[3].Controls[3].Visible = false;
                    }
                    else
                    {
                        e.Row.Cells[2].Controls[1].Visible = true;
                        e.Row.Cells[3].Controls[1].Visible = true;
                        e.Row.Cells[3].Controls[3].Visible = true;
                    }
                }
            }
    }
    protected void Button1_Click1(object sender, EventArgs e)
    {
        TextBox txt_GradeItemName = (TextBox)gv_GradeItem.FooterRow.FindControl("txt_GradeItemName");
        TextBox txt_MaxPoint = (TextBox)gv_GradeItem.FooterRow.FindControl("txt_MaxPoint");
        DropDownList ddl_GradedType = (DropDownList)gv_GradeItem.FooterRow.FindControl("ddl_GradedType");

        string insertGradeItems = "insert into Project_GradedItems (GradeItemName,ProjectID,GradeTypeID,MaxPoint) values" +
           " (@name,@projectid,@type,@point)";
        SqlConnection con = new SqlConnection(CommonClass.ConnectionString);
        SqlCommand com = new SqlCommand(insertGradeItems, con);
        com.Parameters.AddWithValue("@name", txt_GradeItemName.Text.Trim());
        com.Parameters.AddWithValue("@projectid", CommonClass.GetProjectID(this));
        com.Parameters.AddWithValue("@type", ddl_GradedType.SelectedValue);
        com.Parameters.AddWithValue("@point", Convert.ToDecimal(txt_MaxPoint.Text.Trim()));
        con.Open();
        if (com.ExecuteNonQuery() > 0)
        {
            gv_GradeItem_DataBound();
            DDL_GradedType_DataBound();
            Response.Write("<script language='javascript'>alert('添加成功!')</script>");
        }
        con.Close();
    }
    protected void gv_GradeItem_RowCommand1(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "Modify")
        {
            this.gv_GradeItem.EditIndex = ((GridViewRow)((Button)e.CommandSource).Parent.Parent).RowIndex;
            ((GridViewRow)((Button)e.CommandSource).Parent.Parent).RowState=DataControlRowState.Edit;
            DDL_GradedType_DataBound();
            gv_GradeItem_DataBound();
        }

        if (e.CommandName == "N_update")
        {

            TextBox txt_EGradeItemName = (TextBox)((GridViewRow)(((Button)e.CommandSource)).Parent.Parent).FindControl("txt_GradeItemName");
            TextBox txt_EMaxPoint = (TextBox)((GridViewRow)(((Button)e.CommandSource)).Parent.Parent).FindControl("txt_MaxPoint");
            DropDownList ddl_DGradedType = (DropDownList)((GridViewRow)(((Button)e.CommandSource)).Parent.Parent).FindControl("ddl_DGradedType");
            UpdateGradeItem(txt_EGradeItemName.Text.Trim(), txt_EMaxPoint.Text.Trim(), ddl_DGradedType.SelectedValue, e.CommandArgument.ToString());
            this.gv_GradeItem.EditIndex = -1;
            ((GridViewRow)((Button)e.CommandSource).Parent.Parent).RowState = DataControlRowState.Normal;
            DDL_GradedType_DataBound();
            gv_GradeItem_DataBound();
        }
        if (e.CommandName == "N_Cancel")
        {
            this.gv_GradeItem.EditIndex = -1;
            ((GridViewRow)((Button)e.CommandSource).Parent.Parent).RowState = DataControlRowState.Normal;
            DDL_GradedType_DataBound();
            gv_GradeItem_DataBound();
        }

        if (e.CommandName == "GradeRule")
        {
            ViewState["GradedItemID"] = e.CommandArgument.ToString();
            gv_GradeRules_DataBind();
        }

        if(e.CommandName == "del")
        {
            if (IsExistGradeRules(e.CommandArgument.ToString()))
            {
                if (DeletGradeRules(e.CommandArgument.ToString(), 1))
                {
                    if (DeleteGradeItem(e.CommandArgument.ToString()))
                    {
                        DDL_GradedType_DataBound();
                        gv_GradeItem_DataBound();
                        gv_GradeRules_DataBind();
                        Response.Write("<script language='javascript'>alert('删除成功!')</script>");
                    }
                }
            }
            else
            {
                if (DeleteGradeItem(e.CommandArgument.ToString()))
                {
                    DDL_GradedType_DataBound();
                    gv_GradeItem_DataBound();
                    gv_GradeRules_DataBind();
                    Response.Write("<script language='javascript'>alert('删除成功!')</script>");
                }
            }
        }
    }

    public bool IsExistGradeRules(string GradedItemID)
    {
        string slecectGradeRules = "select GradeRuleID from Project_GradeRules where GradedItemID=" + GradedItemID;
        SqlConnection con = new SqlConnection(CommonClass.ConnectionString);
        SqlCommand com = new SqlCommand(slecectGradeRules, con);
        con.Open();
        if (com.ExecuteScalar() != null)
        {
            con.Close();
            return true;
        }
        else
        {
            con.Close();
            return false;
        }
    
    }

    public bool DeleteGradeItem(string GradeItemID)
    {
        string   deletestring = "delete from Project_GradedItems where GradedItemID=" + GradeItemID;
      
        SqlConnection con = new SqlConnection(CommonClass.ConnectionString);
        SqlCommand com = new SqlCommand(deletestring, con);
        con.Open();

        if (com.ExecuteNonQuery() > 0)
        {
            con.Close();
            return true;
        }
        else
        {
            con.Close();
            return false;
        }
      
    }

    public bool DeletGradeRules(string GradeRuleID,int sign)
    {
        string deletestring = "";
        if (sign == 1)
        {
            deletestring = "delete from Project_GradeRules where GradedItemID=" + GradeRuleID;
        }
        else if (sign == 2)
        {
            deletestring = "delete from Project_GradeRules where GradeRuleID=" + GradeRuleID;
        }
        SqlConnection con = new SqlConnection(CommonClass.ConnectionString);
        SqlCommand com = new SqlCommand(deletestring, con);
        con.Open();
        if (com.ExecuteNonQuery() > 0)
        {
            con.Close();
            return true;
        }
        else
        {
            con.Close();
            return false;
        }
      
    }

    public void gv_GradeRules_DataBind()
    {
        string selectString = "";

        if (ViewState["GradedItemID"] == null)
        {
            selectString = "select GradeRuleID,GradedItemExplain,GradePoint from Project_GradeRules where GradedItemID=0"; //+ ViewState["GradedItemID"].ToString();
        }
        else
        {
            selectString = "select GradeRuleID,GradedItemExplain,GradePoint from Project_GradeRules where GradedItemID=" + ViewState["GradedItemID"].ToString();

        }

        AheadDataSource.IAheadDataLinker linker = CommonClass.GetDataLinker();
        System.Data.DataTable table = linker.GetDataFormString(selectString);


        if (table.Rows.Count == 0)
        {
            DataRow dr = table.NewRow();
            table.Rows.Add(dr);


        }

        gv_GradeRules.DataSource = table;
        gv_GradeRules.DataBind();
    }

    protected void UpdateGradeItem(string name,string point,string typeid,string gradeitemid)
    {
        string updateString = "update Project_GradedItems set GradeItemName='" + name + "',GradeTypeID="+typeid+",MaxPoint=" + point+ " where GradedItemID="+gradeitemid;
        SqlConnection con = new SqlConnection(CommonClass.ConnectionString);
        SqlCommand com = new SqlCommand(updateString, con);
        con.Open();
        com.ExecuteNonQuery();
        con.Close();
    }
    protected void gv_GradeItem_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        this.gv_GradeItem.PageIndex = e.NewPageIndex;
        DDL_GradedType_DataBound();
        gv_GradeItem_DataBound();
    }
    protected void gv_GradeRules_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "Modify")
        {
            this.gv_GradeRules.EditIndex = ((GridViewRow)((Button)e.CommandSource).Parent.Parent).RowIndex;
            ((GridViewRow)((Button)e.CommandSource).Parent.Parent).RowState = DataControlRowState.Edit;
            gv_GradeRules_DataBind();
        }

        if (e.CommandName == "N_update")
        {

            TextBox txt_EGradeItemName = (TextBox)((GridViewRow)(((Button)e.CommandSource)).Parent.Parent).FindControl("TextBox1");
            TextBox txt_EMaxPoint = (TextBox)((GridViewRow)(((Button)e.CommandSource)).Parent.Parent).FindControl("TextBox2");
             UpdateGradeRules( ViewState["GradedItemID"].ToString(),txt_EGradeItemName.Text.Trim(), txt_EMaxPoint.Text.Trim(), e.CommandArgument.ToString());
             this.gv_GradeRules.EditIndex = -1;
            ((GridViewRow)((Button)e.CommandSource).Parent.Parent).RowState = DataControlRowState.Normal;
            gv_GradeRules_DataBind();
        }
        if (e.CommandName == "N_Cancel")
        {
            this.gv_GradeRules.EditIndex = -1;
            ((GridViewRow)((Button)e.CommandSource).Parent.Parent).RowState = DataControlRowState.Normal;
            gv_GradeRules_DataBind();
        }

        if (e.CommandName == "GradeRule")
        {
            ViewState["GradedItemID"] = e.CommandArgument.ToString();
            gv_GradeRules_DataBind();
        }

        if (e.CommandName == "del")
        {
          
                if (DeletGradeRules(e.CommandArgument.ToString(), 2))
                {
                  
                        Response.Write("<script language='javascript'>alert('删除成功!')</script>");
                        gv_GradeRules_DataBind();
                }
          
        }
    }

    protected void UpdateGradeRules(string gradeditemid,string gradeditemexplain,string point,string graderuleid )
    {
        string updateString = "update Project_GradeRules set GradedItemID=" + gradeditemid + ",GradedItemExplain='" + gradeditemexplain + "',GradePoint=" + point + " where GradeRuleID=" + graderuleid;
        SqlConnection con = new SqlConnection(CommonClass.ConnectionString);
        SqlCommand com = new SqlCommand(updateString, con);
        con.Open();
        com.ExecuteNonQuery();
        con.Close();
    }
    protected void btn_addGradeRules(object sender, EventArgs e)
    {
        TextBox txt_GradeItemName = (TextBox)gv_GradeRules.FooterRow.FindControl("txt_GradedItemExplain");
        TextBox txt_MaxPoint = (TextBox)gv_GradeRules.FooterRow.FindControl("txt_Point");
       // DropDownList ddl_GradedType = (DropDownList)gv_GradeItem.FooterRow.FindControl("ddl_GradedType");

        string insertGradeItems = "insert into Project_GradeRules (GradedItemID,GradedItemExplain,GradePoint) values" +
           " (@gradeditemid,@gradeditemexplain,@point)";
        SqlConnection con = new SqlConnection(CommonClass.ConnectionString);
        SqlCommand com = new SqlCommand(insertGradeItems, con);
        com.Parameters.AddWithValue("@gradeditemid", ViewState["GradedItemID"].ToString());
        com.Parameters.AddWithValue("@gradeditemexplain", txt_GradeItemName.Text.Trim());
     
        com.Parameters.AddWithValue("@point", Convert.ToDecimal(txt_MaxPoint.Text.Trim()));
        con.Open();
        if (com.ExecuteNonQuery() > 0)
        {
            gv_GradeRules_DataBind();
            Response.Write("<script language='javascript'>alert('添加成功!')</script>");
        }
        con.Close();
    }
    protected void gv_GradeRules_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            Button btn_del = (Button)e.Row.FindControl("btn_del");
            btn_del.Attributes.Add("onclick", "return confirm('此操作将删除所有依赖项!继续吗?')");

            if (e.Row.Cells[0].Controls[1] is Label)
            {
                if (((Label)e.Row.Cells[0].Controls[1]).Text == string.Empty)
                {
                    e.Row.Cells[2].Controls[1].Visible = false;
                    e.Row.Cells[2].Controls[3].Visible = false;
                }
                else
                {
                    e.Row.Cells[2].Controls[1].Visible = true;
                    e.Row.Cells[2].Controls[3].Visible = true;
                }
            }
        }
    }
}

  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值