Saya sedang membangun aplikasi web menggunakan Visual Studio 2012. Saya mencoba untuk menambahkan jumlah kata ke dalam kotak teks saya. Namun setelah menambahkan kode javascript dan kode html. Saya menerima kesalahan seperti yang disebutkan di atas.
Ini kode javascript saya
Kode:
function validateLimit(obj, divID, maxchar) {
objDiv = get_object(divID);
if (this.id) obj = this;
var remaningChar = maxchar - trimEnter(obj.value).length;
if (objDiv.id) {
objDiv.innerHTML = remaningChar + " characters left";
}
if (remaningChar <= 0) {
obj.value = obj.value.substring(maxchar, 0);
if (objDiv.id) {
objDiv.innerHTML = "0 characters left";
}
return false;
}
else
{ return true; }
}
function get_object(id) {
var object = null;
if (document.layers) {
object = document.layers[id];
} else if (document.all) {
object = document.all[id];
} else if (document.getElementById) {
object = document.getElementById(id);
}
return object;
}
function trimEnter(dataStr) {
return dataStr.replace(/(\r\n|\r|\n)/g, "");
}
Kode server di halaman master
<script type="text/javascript" src="js/JScript.js" ></script>
Kode ASPX, (kode Html)
<tr>
<th style="width: 595px; height: 135px;">Official Report :</th>
<td colspan="4" style="height: 135px">
<asp:TextBox ID="tbofficial" runat="server" Height="121px" TextMode="MultiLine" Width="878px" MaxLength="500" ToolTip="Summary:(500 characters)" onkeyup="return validateLimit(this, 'lblMsg1', 500)" ></asp:TextBox>
<div id="lblMsg1">500 characters left</div>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
ControlToValidate="tbofficial" Display="Dynamic"
SetFocusOnError="True">*</asp:RequiredFieldValidator>
<br />
<asp:Label ID="lblmsg" runat="server"></asp:Label>
<br />
<br />
<asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click" />
<asp:Button ID="btnClear" runat="server" Text="Clear" OnClick="btnClear_Click" />
</td>
</tr>
sumber
targetFramework="4.5"
. Saya harus menambahkan pengaturan ini secara eksplisit ke web.config saya agar bisa berfungsi.Daripada menonaktifkan fitur baru, saya memilih untuk mengikuti instruksi kesalahan. Di global.asax.cs saya menambahkan:
Ini berasal dari posting blog msdn yang menyoroti beberapa keuntungan dari pemetaan sumber daya skrip. Yang menarik bagi saya adalah kontrol terpusat atas pengiriman file skrip berdasarkan "debug = true", EnableCDN, dll.
sumber
<script type='text/javascript'> //<![CDATA[ $(document).ready(function () { $("#menu").menu(); }) //]] </script>
. Apakah ini pendekatan yang benar?Setidaknya ada tiga cara untuk menonaktifkan penggunaan JavaScript yang tidak mencolok untuk validasi sisi klien:
System.Web.UI.ValidationSettings.UnobtrusiveValidationMode
properti statis keSystem.Web.UI.UnobtrusiveValidationMode.None
System.Web.UI.Page.UnobtrusiveValidationMode
properti instance keSystem.Web.UI.UnobtrusiveValidationMode.None
Untuk menonaktifkan fungsi berdasarkan per halaman, saya lebih suka mengatur
Page.UnobtrusiveValidationMode
properti menggunakan arahan halaman:sumber
Validasi tidak mengganggu diaktifkan secara default di versi baru ASP.NET. Validasi tidak mengganggu bertujuan untuk mengurangi ukuran halaman dengan mengganti JavaScript sebaris untuk melakukan validasi dengan perpustakaan JavaScript kecil yang menggunakan jQuery.
Anda dapat menonaktifkannya dengan mengedit web.config untuk memasukkan yang berikut:
Atau lebih baik lagi mengkonfigurasi dengan benar dengan memodifikasi metode Application_Start di global.asax:
Halaman 399 dari Awal ASP.NET 4.5.1 dalam C # dan VB menyediakan diskusi tentang manfaat validasi yang tidak mengganggu dan langkah-langkah untuk mengonfigurasinya.
Bagi mereka yang mencari RouteConfig. Itu ditambahkan secara otomatis ketika Anda membuat proyek baru di studio visual ke folder App_Code. Isi terlihat seperti ini:
sumber
untuk menambahkan sedikit lebih banyak ke jawaban dari b_levitt ... di global.asax:
di default.aspx Anda
sumber
Saya yakin saya pernah mengalami kesulitan yang sama. Saya mulai menemui masalah ketika saya berubah ke:
Yang memberikan pesan kesalahan yang Anda uraikan di atas.
menambahkan:
Memecahkan masalah, tetapi kemudian membuat kontrol / skrip validasi Anda membuang kesalahan runtime Javascript. Jika Anda berubah menjadi:
Kamu harus baik-baik saja, tetapi Anda harus memastikan bahwa sisa kode Anda sesuai dengan yang diinginkan. Anda mungkin juga harus melupakan beberapa fitur baru yang hanya tersedia pada 4,5 dan seterusnya.
PS Sangat disarankan agar Anda membaca yang berikut sebelum menerapkan solusi ini. Terutama, jika Anda menggunakan fungsi Async:
https://blogs.msdn.microsoft.com/webdev/2012/11/19/all-about-httpruntime-targetframework/
UPDATE April 2017: Setelah beberapa percobaan dan pengujian, saya menemukan kombinasi yang berfungsi:
dengan:
sumber
Masalah terjadi karena validator Kontrol. Cukup tambahkan referensi J Query ke halaman web Anda sebagai berikut dan kemudian tambahkan Pengaturan Validasi di file web.config Anda untuk mengatasi masalah tersebut. Saya juga menghadapi masalah yang sama dan di bawah ini memberikan solusi untuk masalah saya.
Langkah 1:
Langkah 2 :
Itu akan menyelesaikan masalah Anda.
sumber
Ini memiliki 3 solusi yang dikatakan orang lain di atas ... tetapi ketika mencoba solusi Application_Start, pustaka jQuery saya yang lain seperti Pickup_Date_and_Time tidak berfungsi ... jadi saya menguji cara kedua dan dijawab: 1- mengatur Target FrameWork ke Pre 4.5 2 - Gunakan "UnobtrusiveValidationMode =" None "" di header halaman Anda =>
ini bekerja untuk saya dan tidak mengganggu fungsi jQuery saya yang lain.
sumber