<%: Html.Label("单据名称:") %>
表示Label控件与此input关联,点击label时会触发此控件 <input type="text" name="SocSecNum" id="单据名称:" />
现在空闲的
xianzaikongxian
接单最少的
jiedanzhuishao
维修次数最多的
weixiucishu
维修时间最短的
shijianzuidaun
年龄最小的
nianlingzuixiao
还有重复的话就依次从上到下取
UpdateMode="Conditional" ChildrenAsTriggers="false"
<%
?????????????????????if(Detil!=null&&Detil.Rows.Count!=0)
???????????????????????{
?????????????????????????for(var n=0;n<Detil.Rows.Count;n++)
??????????????????????????{ %>
????????????????????????????document.getElementById("List").innerHTML+=‘<li>‘+‘<% =Detil.Rows[n]["Name"]%>‘+‘</li>‘;
???????????????????????????<%
????????????????????????????if(DetilChild!=null&&DetilChild.Rows.Count!=0)
???????????????????????????{
????????????????????????????for(var p=0;p<DetilChild.Rows.Count;p++)
??????????????????????????????{ %>
????????????????????????????????document.getElementById("List").innerHTML+=‘<li>‘+‘<% =DetilChild.Rows[p]["Name"]%>‘+‘</li>‘;
???????????????????????????<% }
???????????????????????????}%>
???????????????????????<% }
???????????????????????}%>
<%
????if (Detil != null && Detil.Rows.Count != 0)
????{
?????for (int i = 0; i < Detil.Rows.Count; i++)
?????{ %>
<li id="kkk"><strong><%=Detil.Rows[i]["Name"]%></strong></li>
????????<%}
??????} %>
table==null 只是判断有没有实例化,并不能作为是否为空表的依据,要用table.rows.count>0。
MFC拼凑sql语句方法
sql_insert.Format(_T("insert into userinfo(name) values (\‘%s\‘);"), name);
std::string s= CStringA(sql_insert);
const char *ch = s.c_str();
MFC获取其他页面控件方法
CMCFStudentDlg* pWnd = (CMCFStudentDlg*)GetParent();
????????CListCtrl *pList=(CListCtrl *)pWnd->GetDlgItem(IDC_LIST1);
UpdateData(TRUE);
遍历MAP
map<CString,SOCKADDR_IN>::iterator it;
it = Person.begin();
while(it != Person.end())
{
it ++;
m_combo.AddString(it->first); ???????
}
分割字符串
int main(void) ???
{ ???
???????char str[] = "2015-3-22,abcd,efg,hij,klmn,opq,rst,uvw,xyz,tao";/*待分隔的原字符串*/ ???
???????char seg[] = ","; /*分隔符这里为逗号comma,分隔符可以为你指定的,如分号,空格等*/ ?
???????char charlist[50][50]={""};/*指定分隔后子字符串存储的位置,这里定义二维字符串数组*/ ?
???????int i =0; ?
???????char *substr= strtok(str, seg);/*利用现成的分割函数,substr为分割出来的子字符串*/ ?
???
???????while (substr != NULL) { ???
???????????????strcpy(charlist[i],substr);/*把新分割出来的子字符串substr拷贝到要存储的charlsit中*/ ?
???????????????i++; ?
???????????????printf("%s\n", substr); ???
???????????????substr = strtok(NULL,seg);/*在第一次调用时,strtok()必需给予参数str字符串,
???????????????往后的调用则将参数str设置成NULL。每次调用成功则返回被分割出片段的指针。*/ ?
???????} ??
???????getchar();/*press enter key to continue*/ ?
???????return 0; ???
} ?
构造函数:
函数名与类名相同,在调用类时会直接默认使用构造函数初始化参数,即使不写构造函数,系统也会默认给你一个构造函数(类中有虚拟成员,类中有基类有构造函数,静态成员有构造函数)
构造类时,如果传入参数与类中参数的参数名相同,则指定类中参数时使用this->x
C++可接受多继承
class A:public B,public C{ }
虚函数
virtual void breath()
{ ?}
C++在编译的时候不绑定breath,会在具体调用的时候确定调用那个方法,如果不加声明,便会在编译时进行绑定方法。在C++中加上virtual 来实现多态,在基类中方法上加virtual,在派生类中重写该函数,运行时将会根据对象的实际类型来调用相应的方法。
纯虚函数
virtual void breathe()=0
不实现方法,只是声明。当有派生类继承时需要实现纯虚函数,否则派生类也只能当做抽象类,不能被实例化
覆盖和隐藏
覆盖:函数名相同,参数也相同,函数为虚函数。创建实例对象时,便会把虚函数绑定到实力类中的函数
隐藏:函数不为虚函数,只要函数名相同或者参数也相同,便会隐藏。再派生类中实现基类内被隐藏的函数 基类名::函数名(参数)
函数的重载发生在同一个类中。
int a=3;
int &b=a;
int c=5;
b=c;
则此时a和b值为5;此时a的值也就代表b的值。
int a=3;
int *b=&a;
则此时b为a的储存地址,即指针,此时再改变b的值也就是改变指针的值,a的值不会改变。
解决头文件重复定义
在animal.h中添加如下语句
#ifndef ANIMAL_H_H
#define ANIMAL_H_H
static SOCKADDR_IN addrSrv = Person[strCBText];
HWND hWnd = (HWND)FindWindow(NULL,窗口名字);//根据窗口名字Caption获取窗口句柄
C***Dialog* pWnd= (C***Dialog*)C***Dialog::FromHandle(hWnd); //由句柄得到对话框的对象指针
pWnd->xxx( ); ??//调用C***Dialog中的函数xxx();
HWND hwnd = pWnd->GetSafeHwnd(); // 取得控件的句柄
Edit Control
获取指针
pBoxOne = (CEdit*) GetDlgItem(IDC_EDIT1);
赋值
pBoxOne-> SetWindowText( _T("FOO ") );
取值
pBoxOne-> GetWindowText(str);
C++全局变量
.h文件中加
extern CString ToMessage;
.cpp文件中加
CString strCBText;
同一项目下其他文件引用加
.h文件和extern CString strCBText;声明变量
弹出框搜索修改
????<script type="text/javascript" src="js/jquery.min.js"></script>
????<script type="text/javascript" src="js/bootstrap.js"></script> ?
function search() {
???????var texts = document.getElementById("pho").value;
???????var Company = "{‘phoID‘:‘" + texts + "‘}";
???????$.ajax({
???????????// ??????????????async: false,
???????????type: "post",
???????????url: "TaskManagementAdd.aspx/search",
???????????data: Company,
???????????contentType: "application/json;charset=utf-8",
???????????dataType: "json",
???????????success: function e(msg) {
???????????????var mytab = document.getElementById("table");
???????????????var rowNum = mytab.rows.length;
???????????????for (var i = 1; i < rowNum; i++) {
???????????????????mytab.deleteRow(i);
???????????????????rowNum = rowNum - 1;
???????????????????i = i - 1;
???????????????}
???????????????var word = msg.d.split(";");
???????????????if (msg.d.split(",").length > 2) {
???????????????????for (var tt = 0; tt < word.length; tt++) {
???????????????????????var words = word[tt].split(",");
???????????????????????var tabRow = mytab.insertRow(tt + 1);
???????????????????????tabRow.setAttribute("style", "text-align: center");
???????????????????????tabRow.insertCell(0).innerHTML = ‘<tr style="text-align: center" ?><td><input id="‘ + words[2] + ‘" name="User" type="radio" /></td>‘;
???????????????????????tabRow.insertCell(1).innerHTML = ‘<td >‘ + words[0] + ‘</td>‘;
???????????????????????tabRow.insertCell(2).innerHTML = ‘<td >‘ + words[1] + ‘</td>‘;
???????????????????}
???????????????}
???????????????else {
???????????????????var words = msg.d.split(",");
???????????????????var tabRow = mytab.insertRow(1);
???????????????????tabRow.setAttribute("style", "text-align: center");
???????????????????tabRow.insertCell(0).innerHTML = ‘<td><input id="‘ + words[2] + ‘" name="User" type="radio" /></td>‘;
???????????????????tabRow.insertCell(1).innerHTML = ‘<td >‘ + words[0] + ‘</td>‘;
???????????????????tabRow.insertCell(2).innerHTML = ‘<td >‘ + words[1] + ‘</td> </tr>‘;
???????????????}
???????????????// ???????????mytab.rows[0].cells[0].innerHTML = msg.d;
???????????},
???????????error: function (xhr) { alert(‘页面出错\n\n‘ + xhr.responseText); }
???????});
???}
获取弹出框选中的值
function sub() {
???????var s = ‘‘;
???????var obj = document.getElementsByName(‘User‘);
???????for (var i = 0; i < obj.length; i++) {
???????????if (obj[i].checked)
???????????{ s = obj[i].id; }
???????}
???????var Name = $("#" + s).parent().next().text();
???????var Phone = $("#" + s).parent().next().next().text();
???????document.getElementById("TUser").value = Name;
???}
js获取select标签选中的值
var obj = document.getElementByIdx_x(”testSelect”); //定位id
var index = obj.selectedIndex; // 选中索引
var text = obj.options[index].text; // 选中文本
var value = obj.options[index].value; // 选中值
jQuery中获得选中select值
第一种方式
$(‘#testSelect option:selected‘).text();//选中的文本
$(‘#testSelect option:selected‘) .val();//选中的值
$("#testSelect ").get(0).selectedIndex;//索引
第二种方式
$("#tesetSelect").find("option:selected").text();//选中的文本
…….val();
…….get(0).selectedIndex;
弹出框不好用
ScriptManager.RegisterStartupScript(this, this.GetType(), "", "alert(‘账户余额不足‘);", true);
后台隐藏某个元素
ScriptManager.RegisterStartupScript(this, this.GetType(), "", "$(function () { $(\".qbm-notice\").css(\"display\", \"none\");})", true);
数据库不能识别汉字,在设置连接字符串时最后加上:Charset=utf8
如何在自定义类中使用ASP.NET的Request,server 等对象:
加命名空间(可能需要在项目中先加引用,再在类中如下引用)
using System.Web.SessionState;
HttpContext.Current.Session["TotalPage"].ToString();
HttpContext.Current.Request.QueryString["cid"].ToString();
ajax的使用
界面上必须引用jquery.min.js
???<script type="text/javascript">
???function Sub(){
// ???????$(document).click(function (e) {
???????????// ???????var name=$(e.target).parent().prev().prev().prev().prev().prev().prev().prev().text();
???????????// ?????????var p = $(e.target).attr("id");
???????????var p = ‘u‘;
???????????var params = ‘{IP:"‘ + p + ‘"}‘;
???????????// ??????var params = ‘{name1:"‘ + name + ‘",phone1:"‘ + phone + ‘"}‘;
???????????$.ajax({
???????????????type: "post",
???????????????url: "Phone.aspx/Submit",
???????????????data: params,
???????????????contentType: "application/json;charset=utf-8",
???????????????dataType: "json",
???????????????success: function e() {
???????????????????// ??????????????????????????shanchu.remove();
???????????????????alert("操作成功!");
???????????????},
???????????????error: function () { alert("llll"); }
???????????});
// ???????})
???}
</script>
由后台返回的值分割
????????????????????success: function e(msg) {
????????????????????????var Name = document.getElementById("StuName");
????????????????????????var strs = msg.d.split(";"); //字符分割
????????????????????????for (var i = 0; i < strs.length; i++) {
????????????????????????????if (strs[i] != "") {
????????????????????????????????Name.innerHTML += ‘<li class=\"flex bd-lis\" ><section class=\"iconfont icon-yuanxingweixuanzhong bd-a\"></section><section class=\"bd-b\"></section><section class=\"bd-c\">‘ + strs[i].toString() + ‘</section><section class=\"bd-d iconfont icon-xiangyou1\"></section></li>‘;
????????????????????????????}
????????????????????????}
????????????????????},
????????????????????error: function () { alert("llll"); }
后台
[System.Web.Services.WebMethod()]
?public static void Submit(string IP)
??{
?????????
??}
获取当前click事件元素的id:
$(".bl").click(function (e) {
????????????window.location.href = "NoticeDetil.aspx?ID=" + $(this).attr("id");
????????})
预加载修改页面
$(function(){
????????????var Detile=‘<%=NoticeDeilStr%>‘;
????????????var strs = Detile.split(";");
????????????$("#NoticeType").append(strs[0]);
???????$("#NoticeTitle").html(strs[1]);
???????$("#StartTime").html(strs[2]);
???????$("#OverTime").html(strs[3]);
???????$("#StopTime").html(strs[4]);
???????$("#NoticeContent").html(strs[5]);
???????})
当需要多个表的信息时,不必要分多次查询,可以使用左右或内连接将数据放在一起。
SELECT t1.ID,t2.ID as PP,t1.phone as tt ?FROM ((select * from `user` where ID=‘ee‘) t1 LEFT JOIN (select * from `user` where roleID =‘1‘) t2 on t1.classID=t2.classID)
传递点击对象:
onclick="Sub(this)"
接收:function Sub(obj) {
var p = $(obj).prev().attr("id");
}
Ajax按钮跳转时,只能用button属性,不要用submit
C# ??中的cookies
设置
HttpCookie cookie = new HttpCookie("cookieName");
cookie.Value = "name1"
HttpContext.Current.Response.Cookies.Add(cookie);
HttpContext.Current.Response.AppendCookie(cookie);
读取
HttpContext.Current.Request.Cookies["cookieName"].Value
判断存在
if(HttpContext.Current.Request.Cookies["cookieName"]==null){
//do something
}
有效期
cookie.Expires = DateTime.Now.AddDays(1);
获取dropdownlist选中的值
ddlBranch.SelectedValue;
获取dropdownlist选中的文本
ddlCurrentDegree.SelectedItem.Text;
?<system.data>
???<DbProviderFactories>
???<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.9.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /> ?
???</DbProviderFactories>
?</system.data>
获取XML节点值
?XmlDocument xmldoc = new XmlDocument();
???????????????xmldoc.LoadXml(jsonText);
???????????????//获取节点列表
???????????????XmlNodeList topM = xmldoc.ChildNodes;
???????????????foreach (XmlElement element in topM)
???????????????{
???????????????????id = element.GetElementsByTagName("prepay_id")[0].InnerText;
???????????????????sig = element.GetElementsByTagName("sign")[0].InnerText;
???????????????????nonce_str = element.GetElementsByTagName("nonce_str")[0].InnerText;
???????????????}
在子元素中防止触发父元素点击事件
event.stopPropagation(); //阻止事件冒泡即可
显示全屏
HTML:
<div class="over"></div><!--背景层--> ?
<div class="logoImg amplifyImg"><!--注意:此处的amlifyImg不可少--> ?
????<img src="imgSrc"/> ?
</div> ?
CSS:
.over {position: fixed; left:0; top:0; width:100%; z-index:100;} ?
.tempContainer {position:fixed; width:100%; margin-right:0px; margin-left:0px; text-align:center; z-index:101;} ?
JS:
var imgsObj = $(‘.amplifyImg img‘);//需要放大的图像 ?
??if(imgsObj){ ?
???$.each(imgsObj,function(){ ?
???????$(this).click(function(){ ?
???????????var currImg = $(this); ?
???????????coverLayer(1); ?
???????????var tempContainer = $(‘<div class="tempContainer"></div>‘);//图片容器 ?
???????????with(tempContainer){//width方法等同于$(this) ?
???????????????appendTo("body"); ?
???????????????var windowWidth=$(window).width(); ?
???????????????var windowHeight=$(window).height(); ?
???????????????//获取图片原始宽度、高度 ?
???????????????var orignImg = new Image(); ?
???????????????orignImg.src =currImg.attr("src") ; ?
???????????????var currImgWidth= orignImg.width; ?
???????????????var currImgHeight = orignImg.height; ?
???????????????if(currImgWidth<windowWidth){//为了让图片不失真,当图片宽度较小的时候,保留原图 ?
???????????????????if(currImgHeight<windowHeight){ ?
???????????????????????var topHeight=(windowHeight-currImgHeight)/2; ?
???????????????????????if(topHeight>35){/*此处为了使图片高度上居中显示在整个手机屏幕中:因为在android,ios的微信中会有一个title导航,35为title导航的高度*/ ?
???????????????????????????topHeight=topHeight-35; ?
???????????????????????????css(‘top‘,topHeight); ?
???????????????????????}else{ ?
???????????????????????????css(‘top‘,0); ?
???????????????????????} ?
???????????????????????html(‘<img border=0 src=‘ + currImg.attr(‘src‘) + ‘>‘); ?
???????????????????}else{ ?
???????????????????????css(‘top‘,0); ?
???????????????????????html(‘<img border=0 src=‘ + currImg.attr(‘src‘) + ‘ height=‘+windowHeight+‘>‘); ?
???????????????????} ?
???????????????}else{ ?
???????????????????var currImgChangeHeight=(currImgHeight*windowWidth)/currImgWidth; ?
???????????????????if(currImgChangeHeight<windowHeight){ ?
???????????????????????var topHeight=(windowHeight-currImgChangeHeight)/2; ?
???????????????????????if(topHeight>35){ ?
???????????????????????????topHeight=topHeight-35; ?
???????????????????????????css(‘top‘,topHeight); ?
???????????????????????}else{ ?
???????????????????????????css(‘top‘,0); ?
???????????????????????} ?
???????????????????????html(‘<img border=0 src=‘ + currImg.attr(‘src‘) + ‘ width=‘+windowWidth+‘;>‘); ?
???????????????????}else{ ?
???????????????????????css(‘top‘,0); ?
???????????????????????html(‘<img border=0 src=‘ + currImg.attr(‘src‘) + ‘ width=‘+windowWidth+‘; height=‘+windowHeight+‘>‘); ?
???????????????????} ?
???????????????} ?
???????????} ?
???????????tempContainer.click(function(){ ?
???????????????$(this).remove(); ?
???????????????coverLayer(0); ?
???????????????}); ?
???????}); ?
???}); ?
??} ?
??else{ ?
???return false; ?
??} ?
??//使用禁用蒙层效果 ?
??function coverLayer(tag){ ?
???with($(‘.over‘)){ ?
???????if(tag==1){ ?
???????????css(‘height‘,$(document).height()); ?
???????????css(‘display‘,‘block‘); ?
???????????css(‘opacity‘,1); ?
???????????css("background-color","#191919"); ?
???????} ?
???????else{ ?
???????????css(‘display‘,‘none‘); ?
???????} ?
???} ?
??} ?
写入前台js
???StringBuilder sb = new StringBuilder();
???sb.Append("<script src=\"js/jquery-weui.js\"></script>;");
???ClientScript.RegisterStartupScript(this.GetType(), "LoadPicScript", sb.ToString());
苹果微信返回不重新加载js
<input type="hidden" id="refreshed" value="no">
if ((/iphone|ipod|ipad.*os 5/gi).test(navigator.appVersion)) {
???window.onpageshow = function (event) {
???????if (event.persisted) {
???????????window.location.reload()
???????}
???};
} else {
???onload = function () {
???????var refreshedId = document.getElementById("refreshed");
???????if (refreshedId.value == "no") {
???????????refreshedId.value = "yes";
???????} else {
???????????refreshedId.value = "no";
???????????location.reload();
???????}
???}
}
服务器控件添加前台JS事件
Button1.Attributes.Add("OnClick", "return ?load()");
函数返回true则继续执行后台点击事件
函数返回false则只执行前台JS事件
.NET的一些笔记,自己记录一下
原文地址:https://www.cnblogs.com/cwmizlp/p/9040132.html