您的位置:首页 > 编程语言 > C#

c#项目开发常见问题

2013-05-06 18:46 309 查看
1.将一个JSON对象转换成字符串

var O2String = function (O) { //return JSON.stringify(jsonobj);

var S = []; var J = ""; if (Object.prototype.toString.apply(O) === '[object Array]') { for (var i = 0; i < O.length; i++) S.push(O2String(O[i])); J = '[' + S.join(',') + ']'; } else if (Object.prototype.toString.apply(O) === '[object Date]') { J = "new Date(" + O.getTime() + ")"; } else if (Object.prototype.toString.apply(O) === '[object RegExp]' || Object.prototype.toString.apply(O) === '[object Function]') { J = O.toString(); } else if (Object.prototype.toString.apply(O) === '[object Object]') { for (var i in O) { O[i] = typeof (O[i]) == 'string' ? '"' + O[i] + '"' : (typeof (O[i]) === 'object' ? O2String(O[i]) : O[i]); S.push(i + ':' + O[i]); } J = '{' + S.join(',') + '}'; }

return J; };

2.easy-ui中 下拉框禁止输入文字

行内这样写:

data-options="editable:false"

动态生成的设置一下editable

$(tempId).combobox({ url: '/Common/GetCurrentType', width: 150, required: true, valueField: 'id', textField: 'text', onSelect: function (rec) { companyOp.change(tempKey); }, onLoadSuccess: function () {

var data = $(this).combobox('getData'); //获得成功后的json数据,然后附上第一项的值 if (data.length > 0) { $(this).combobox('select',data[0].id); //这里不要是显示的文本,因为你post的时候,提交的会是value值,同样,他也会选中你想要的值 } } });

3. 在easyui的gridview中显示的内容想换行,一种当时保存数据的时候

后台C#用 Environment.NewLine作为字符串的换行符号,则显示的时候,会是换行的

4.在view中,如果你是table布局,在一个td中,例如 Model.备注信息,显示在一行,没有换行的时候,在table中,加一个样式,<table style="word-break:break-all">...</table>,就可以换行了

5.关于ASP.NET MVC中获得表单中查询条件的内容,然后post过去

表单采用这种形式

@using (Html.BeginForm("List", "Recycle", FormMethod.Post, new { @Name = "ff", @Id = "ff" })) { <table width="100%" border="0" cellpadding="0" cellspacing="0" class="adm_8"> ...

}

//获取表单数据 function getPostData() { var data = $("#ff").serialize(); return $('#ff').attr('action') + '?' + data; }

6.读取config文件



xml文件如下:



还有取config的方法

ConfigurationManager.AppSettings["TextColor"].ToString();

7.jquery最大化浏览器窗口

<script type="text/javascript">

$(document).ready(function(){ //使用jquery的ready方法似的加载运行

if (window.screen) { //判断浏览器是否支持window.screen判断浏览器是否支持screen

var myw = screen.availWidth; //定义一个myw,接受到当前全屏的宽

var myh = screen.availHeight; //定义一个myw,接受到当前全屏的高

window.moveTo(0, 0); //把window放在左上脚

window.resizeTo(myw, myh); //把当前窗体的长宽跳转为myw和myh

}

});

</script>

8. 关于后台string个属性,里面含有换行,但是页面是不换行的解决办法:

public string FirstMoneyShow { get { return Math.Round(FirstMoney, 2).ToString() + Environment.NewLine + ((CurrencyType)Currency).GetDescription(); } }

@Html.Raw(Model.FirstMoneyShow.Replace("\r\n","<br>"))

前台获得值后,用js的手段,换行

这是EasyUI中grid中某列的格式化语句

function MoneyFormatter(value, row, index) { return value.replace("\r\n","<br/>");

}

由于分辨率大小有限,在列表中,日期显示不完了,有时自动换行,影响美观,所以决定年月日,时分秒换行显示

public System.DateTime? PayTime { get; set; } public string PayTimeShow { get { if (PayTime.HasValue) { return ((DateTime)PayTime).ToString("yyyy-MM-dd HH:mm:ss"); } return ""; } }

前台js的写法:

function CustomDateFormatter(value, row, index) { return value.replace(" ","<br/>"); }

9. js抖动一个div,例如登陆窗口,为输入用户名和密码,点了登陆

jQuery.fn.shake =
function
(times,offset,delay) {
//次数,偏移,间隔
02
this
.stop().each(
function
() {
03
var
Obj = $(
this
);
04
var
marginLeft = parseInt(Obj.css(
'margin-left'
));
05
var
delay = delay > 20 ? delay : 20;
06
Obj.animate({
'margin-left'
:marginLeft+offset},delay,
function
(){
07
Obj.animate({
'margin-left'
:marginLeft},delay,
function
(){
08
times = times - 1;
09
if
(times > 0)
10
Obj.shake(times,offset,delay);
11
})
12
});
13
14
});
15
return
this
;
16
}
17
18
//示例:$('.wrap').shake(4,4,100);​
19
//演示地址:http://runjs.cn/detail/hb1zsvl5
10.一个简单的图文混编

<div style="height: 300px; width: 100%"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: left; padding-top: 0px; padding-left: 0px; margin: 0px 15px 0px 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="$image_thumb.png" width="225" height="160" />我我在填我在填我在填我在填我在填我在填我在填我在填我在填我在填我在填我在填我在填我在填我在填我在填我在填我在填我在填我在填我在填我在填我在填我在填我在填我在填我在填我在填我在填我在填我在填我在填我在填我在填我在填我在填我在填我在填我在填我在填我在填我在填我在填我在填我在填我在填我在填我在填我在填我在填我在填在填</div>

11.关于my97 datepicker的两个日期作为时间段查询,在ASP.NET MVC中使用

前面的一个日期,最大时间为当天,后面的一个日期,最小日期为前面一个日期,最大日期为当天

@Html.TextBoxFor(m => m.CreateTime, new { @class = "Wdate adm_21", @onclick = @"WdatePicker({dateFmt:'yyyy年MM月dd日',skin:'blue',maxDate:'%y-%M-%d'})" })  至 @Html.TextBoxFor(m => m.ApplicantTime, new { @class = "Wdate adm_21", @onclick = @"WdatePicker({dateFmt:'yyyy年MM月dd日',skin:'blue',minDate:'#F{$dp.$D(\'CreateTime\')}',maxDate:'%y-%M-%d'})" })

[b]二、 开发之前的一些疑问解决办法:[/b]

1.如果没有按照正常的先装iis后装.net的顺序,可以使用此命令重新注册一下: 32位的Windows: --------------------------------------------------------------------------- 1. 运行->cmd

2. cd C:\Windows\Microsoft.NET\Framework\v4.0.30319

3. aspnet_regiis.exe -i

64位的Windows: --------------------------------------------------------------------------- 1. 运行->cmd

2. cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319

3. aspnet_regiis.exe -i
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: