2016-04-03 12 views
0

を修正する方法がわからない:私はこのコード行のエラーを取得する私は1つのエラーを取得していますし、私はそれを

CurrentPage = FillRepeater() – 1; 

ページング目的のために私が使用したのと同じクラスであるPagedDataSourceクラスを使用します他のデータバインドコントロールのページング。FillRepeater()関数では、私はPagedDataSourceクラスのオブジェクトを作成し、いくつかのメソッドを使用しました。この単純なプロパティの後に現在のページの値を取得するために使用されます。これは、単に:

  1. は、データ・ページ
  2. の現在の状態を保存するためにviewstateを使用しても、私はクリックイベントにまず、 最後に、前と次のページを取得したLinkBut​​tonコントロールする機能を追加します。以下は

コード:

public partial class ExamPage : System.Web.UI.Page 
{ 

SqlConnection con; 
string query; 


public ExamPage() 
{ 
    con = new SqlConnection(); 
    con.ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ToString(); 

} 


protected void Page_Load(object sender, EventArgs e) 
{ 

} 

private int FillRepeater() 
{ 
    query = "select top 10 Question,Option1,Option2,Option3,Option4 from Questions"; 
    SqlCommand cmd = new SqlCommand(query, con); 
    con.Open(); SqlDataAdapter da = new SqlDataAdapter(cmd); 
    DataSet ds = new DataSet(); 

    da.Fill(ds); 

    PagedDataSource pds = new PagedDataSource(); 
    pds.DataSource = ds.Tables[0].DefaultView; 
    pds.AllowPaging = true; pds.PageSize = 8; 

    int count = pds.PageCount; 
    pds.CurrentPageIndex = CurrentPage; 

    if (pds.Count > 0) 
    { 

     lbtnPrev.Visible = true; 
     lbtnNext.Visible = true; 
     lbtnFirst.Visible = true; 
     lbtnLast.Visible = true; 

     lblStatus.Text = "Page " + Convert.ToString(CurrentPage + 1) + "of" + Convert.ToString(pds.PageCount); 

    } 

    else { 

     lbtnPrev.Visible = false; 
     lbtnNext.Visible = false; 
     lbtnFirst.Visible = false; 
     lbtnLast.Visible = false; 

    } 

    lbtnPrev.Enabled = !pds.IsFirstPage; 
    lbtnNext.Enabled = !pds.IsLastPage; 
    lbtnFirst.Enabled = !pds.IsFirstPage; 
    lbtnLast.Enabled = !pds.IsLastPage; 

    Repeater1.DataSource = pds; 
    Repeater1.DataBind(); 

    return count; 

} 
public int CurrentPage 
{ 
    get 
    { 
     object obj = this.ViewState["_CurrentPage"]; if (obj == null) { return 0; } 
     else 
     { 
      return (int)obj; 

     } 

    } 

    set 

    { 

     //set in viewstate the current page number 

     this.ViewState["_CurrentPage"] = value; 

    } 
} 

protected void lbtnPrev_Click(object sender, EventArgs e) 

{ 

    CurrentPage -= 1; 

    FillRepeater(); 

} 

protected void lbtnNext_Click(object sender, EventArgs e) 
{ 

    CurrentPage += 1; 

    FillRepeater(); 

} 

protected void lbtnFirst_Click(object sender, EventArgs e) 

{ 

    CurrentPage = 0; 

    FillRepeater(); 

} 

protected void lbtnLast_Click(object sender, EventArgs e) 

{ 

    CurrentPage = FillRepeater() – 1; 

    FillRepeater(); 

} 
} 

私は構文エラー実行時エラーではなくを取得していますが、私はそれを解決する方法がわかりません。私は間違いその線で

+1

どのようなエラーが発生しているかについて詳しく知ることができますか?行番号、エラーの種類など? – nhouser9

+0

「 - 」に何か問題があります。マイナス記号ではありません。それを交換してください。 – Guy

答えて

0
CurrentPage = FillRepeater() – 1; 

作っていますどこ文字がen dashで、教えてください。ほとんどのプログラミング言語では、hyphen-minus-を使用して減算を表現できます。ハイフン・マイナス・キーは、ほとんどのキーワードに存在します。

CurrentPage = FillRepeater() - 1; 

あなたのコードに半角ダッシュを持っている理由は、それはおそらく、このような自動的に半角ダッシュ次の単語にハイフンマイナスの変換のMicrosoft Wordなどのワープロソフトを使用して作成されたということですスペースの後に続きます。

+0

はい、あなたは正しいです。問題はマイナス記号だけです。私は間違いを訂正しました...しかし、私が得ている出力は期待されていないものです。つまり、すべてのページの最後の質問がラベルの下に表示されています。これは次回、最初、最後と前のページに移動するたびに発生します。理由を知らない –

関連する問題