Member 12950401 Ответов: 1

Ошибка выполнения Javascript: '__dopostback ' не определен


я использую представление сетки для отображения данных из базы данных с помощью asp.net c#. я включил параметры редактирования и удаления представления сетки, но как только я нажимаю на кнопку редактирования или удаления, система показывает ниже ошибку

Ошибка выполнения JavaScript: '__doPostBack ' не определен

Что я уже пробовал:

asp.net

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
            DataKeyNames="serial_no" OnPageIndexChanging="GridView1_PageIndexChanging" 
            OnRowCancelingEdit="GridView1_RowCancelingEdit" 
            OnRowDeleting="GridView1_RowDeleting" OnRowEditing="GridView1_RowEditing" 
            OnRowUpdating="GridView1_RowUpdating">
    <columns>
        <asp:BoundField DataField="serial_no" HeaderText="serial_no" 
            InsertVisible="False" ReadOnly="True" SortExpression="serial_no" />
        <asp:BoundField DataField="internal_receiving" HeaderText="internal_receiving" 
            SortExpression="internal_receiving" />
        <asp:BoundField DataField="date" HeaderText="date" SortExpression="date" />
        <asp:BoundField DataField="department" HeaderText="department" 
            SortExpression="department" />
        <asp:BoundField DataField="department_type" HeaderText="department_type" 
            SortExpression="department_type" />
        <asp:BoundField DataField="organization" HeaderText="organization" 
            SortExpression="organization" />
        <asp:BoundField DataField="organization_type" HeaderText="organization_type" 
            SortExpression="organization_type" />
        <asp:BoundField DataField="file_no" HeaderText="file_no" 
            SortExpression="file_no" />
        <asp:BoundField DataField="subject" HeaderText="subject" 
            SortExpression="subject" />
        <asp:BoundField DataField="file_name" HeaderText="file_name" 
            SortExpression="file_name" />
        <asp:BoundField DataField="status" HeaderText="status" 
            SortExpression="status" />
             <asp:CommandField ShowEditButton="true" />
        <asp:CommandField ShowDeleteButton="true" />




с#

public partial class viewfile : System.Web.UI.Page
{
    private SqlConnection conn = new SqlConnection("Data Source=.\\sqlexpress;Initial Catalog=college_education;User ID=sa;Password=system;");

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            gvbind();
        }
    }

    protected void gvbind()
    {
      
            conn.Open();
            SqlCommand cmd = new SqlCommand("Select * from file_rec", conn);
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataSet ds = new DataSet();
            da.Fill(ds);
            conn.Close();
            if (ds.Tables[0].Rows.Count > 0)
            {
                GridView1.DataSource = ds;
                GridView1.DataBind();
            }
            else
            {
                ds.Tables[0].Rows.Add(ds.Tables[0].NewRow());
                GridView1.DataSource = ds;
                GridView1.DataBind();
                int columncount = GridView1.Rows[0].Cells.Count;
                GridView1.Rows[0].Cells.Clear();
                GridView1.Rows[0].Cells.Add(new TableCell());
                GridView1.Rows[0].Cells[0].ColumnSpan = columncount;
                GridView1.Rows[0].Cells[0].Text = "No Records Found";
            }
      
    }

    protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        GridViewRow row = (GridViewRow)GridView1.Rows[e.RowIndex];
        Label lbldeleteid = (Label)row.FindControl("lblID");
        conn.Open();
        SqlCommand cmd = new SqlCommand("delete FROM file_rec where serial_no='" + Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value.ToString()) + "'", conn);
        cmd.ExecuteNonQuery();
        conn.Close();
        gvbind();

    }

    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        GridView1.EditIndex = e.NewEditIndex;
        gvbind();
    }
    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        int serial_no = Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value.ToString());
        GridViewRow row = (GridViewRow)GridView1.Rows[e.RowIndex];
        Label lblID = (Label)row.FindControl("lblID");
        //TextBox txtname=(TextBox)gr.cell[].control[];
        TextBox textinternal_receiving = (TextBox)row.Cells[0].Controls[0];
        TextBox textdate = (TextBox)row.Cells[1].Controls[0];
        TextBox textdepartment = (TextBox)row.Cells[2].Controls[0];
        TextBox textdepartment_type = (TextBox)row.Cells[3].Controls[0];
        TextBox textorganization = (TextBox)row.Cells[4].Controls[0];
        TextBox textorganization_type = (TextBox)row.Cells[5].Controls[0];
        TextBox textfile_no = (TextBox)row.Cells[6].Controls[0];
        TextBox textsubject = (TextBox)row.Cells[7].Controls[0];
        TextBox textfile_name = (TextBox)row.Cells[8].Controls[0];
        TextBox textstatus = (TextBox)row.Cells[9].Controls[0];
        //TextBox textadd = (TextBox)row.FindControl("txtadd");
        //TextBox textc = (TextBox)row.FindControl("txtc");
        GridView1.EditIndex = -1;
        conn.Open();
        //SqlCommand cmd = new SqlCommand("SELECT * FROM detail", conn);
        SqlCommand cmd = new SqlCommand("update file_rec set internal_receiving='" + textinternal_receiving + "',date='" + textdate + "',department='" + textdepartment + "',department_type='" + textdepartment_type + "',organization='" + textorganization + "',organization_type='" + textorganization_type + "',file_no='" + textfile_no + "',subject='" + textsubject + "',file_name='" + textfile_name + "',status='" + textstatus + "'where ='" + serial_no + "'", conn);
        cmd.ExecuteNonQuery();
        conn.Close();
        gvbind();
        //GridView1.DataBind();
    }
    protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        GridView1.PageIndex = e.NewPageIndex;
        gvbind();
    }
    protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    {
        GridView1.EditIndex = -1;
        gvbind();
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        Response.Redirect("adminview.aspx");
    }
}

[no name]

"JavaScript runtime error:", кроме приглашения атаки SQL-инъекции, я не вижу ни одного бита javascript нигде в вашей публикации. Но я не очень тщательно просматривал ваш неформатированный дамп кода

Member 12950401

я не использовал java script в коде, но я не знаю, почему эта ошибка отображается

Richard Deeming

Вы работаете на .NET 2.0 или 4.0? Была ошибка с файлами определения браузера, которая была исправлена в 2011 году, но вы можете пропустить патч:
Ошибка и исправление: ASP.NET не удается обнаружить IE10, вызывающий _doPostBack is undefined JavaScript error или поддерживать положение полосы прокрутки FF5[^]

Как уже упоминалось в комментариях, настройка Page.ClientTarget = "uplevel" в Page_Init событие также позволит избежать этой ошибки.

Member 12950401

я использую VS2010, V4. 0

Bryian Tan

С тех пор, как вы, парень, упомянули SQL-инъекцию. Я хочу, чтобы бросить в другой пример. Надеюсь, это поможет понять, как работает SQL-инъекция.

SQL-инъекции-и-межсайтовых сценариев

1 Ответов

Рейтинг:
2

Pete O'Hanlon

Форма, в которой отображается это представление, должна быть объявлена runat="server". В том случае, если вы добавили это и все еще не видите ссылку, добавьте следующий метод загрузки страницы, ClientScriptManager.GetPostBackEventReference.


Member 12950401

куда именно я должен это положить...

ClientScriptManager.GetPostBackEventReference показывает ниже ошибку.

"в качестве оператора можно использовать только присваивания , вызов,инкремент-декремент и новые объектные выражения "

Pete O'Hanlon

Это потому, что вам не хватает a (); в конце. Я просто набрал нужный вам номер-не думал, что мне придется точно его произносить.

Member 12950401

Сэр, я все еще не могу решить эту проблему.