Sergey
- Вопросы
- Ответы
Имя | Sergey |
Возраст | Неизвестно |
Сайт | Неизвестно |
Неизвестно | |
Участвует в проекте | 1111 дн., 18 час., 42 мин. |
Последняя активность | 514 дн., 17 час., 2 мин. назад |
Ответы
Перейти к вопросу →
Можно так
<a href="http://www.site1.ru/" onclick="this.href='http://www.site2.ru'">ССылка</a>
Только, если будет использоваться target="_blank"
, то во второй раз на ссылке будет второй адрес.
Можно в onclick указать js функцию c редиректом на другой сайт или открытием окна, но, чтобы не отработал адрес, указанный в href, нужно указать return false;
<a href="http://www.site1.ru/" onclick="gotourl(); return false;">Ссылка</a>
Перейти к вопросу →
Посмотри какой шрифт используешь и есть ли там символ "№"
Перейти к вопросу →
Советую для удачного старта почитать блог Стива Ласкера, например про Privately Deploying SQL Server Compact with the ADO.NET Entity Provider
Перейти к вопросу →
Решать реальные задачи одновременно читая книги. Ну и мотивацию.
Перейти к вопросу →
Сначала определяем контекстное меню
mnuContext = new Ext.menu.Menu({
items: [{
id: 'do-something',
text: 'Do something'
}],
listeners: {
itemclick: function(item) {
switch (item.id) {
case 'do-something':
break;
}
}
}
});
Затем создаём listener(слушатель) для нужного события. Очень важно помнить, что нужно остановить обработку события по умолчанию и заменить её на свою собственную. Если вы не вызовите event.stopEvent()
для остановки события, то по умолчанию появится контекстное меню браузера независимо от того, что вы делаете.
rowcontextmenu: function(grid, index, event){
event.stopEvent();
mnuContext.showAt(event.xy);
}
Перейти к вопросу →
И все же мне удалось решить проблему
Сначала код:
BinaryReader instr = new BinaryReader(File.OpenRead(path));
byte[] data = instr.ReadBytes((int)instr.BaseStream.Length);
instr.Close();
// определяем BOM (EF BB BF)
if (data.Length > 2 && data[0] == 0xef && data[1] == 0xbb && data[2] == 0xbf) {
if (data.Length != 3) return Encoding.UTF8.GetString(data, 3, data.Length - 3);
else return "";
}
int i = 0;
while (i < data.Length - 1) {
if (data[i] > 0x7f) { // не ANSI-символ
if ((data[i] >> 5) == 6) {
if ((i > data.Length - 2) || ((data[i + 1] >> 6) != 2))
return Encoding.GetEncoding(1251).GetString(data);
i++;
} else if ((data[i] >> 4) == 14) {
if ((i > data.Length - 3) || ((data[i + 1] >> 6) != 2) || ((data[i + 2] >> 6) != 2))
return Encoding.GetEncoding(1251).GetString(data);
i += 2;
} else if ((data[i] >> 3) == 30) {
if ((i > data.Length - 4) || ((data[i + 1] >> 6) != 2) || ((data[i + 2] >> 6) != 2) || ((data[i + 3] >> 6) != 2))
return Encoding.GetEncoding(1251).GetString(data);
i += 3;
} else {
return Encoding.GetEncoding(1251).GetString(data);
}
}
i++;
}
return Encoding.UTF8.GetString(data);
Теперь немного поясню: Сиволы в UTF-8 кодируются последовательностями длиной от 1 до 4 байт (октетов).
Вот в таком формате:
U+000000-U+00007F: 0xxxxxxx (ANSI)
U+000080-U+0007FF: 110xxxxx 10xxxxxx (сюда входит кириллица)
U+000800-U+00FFFF: 1110xxxx 10xxxxxx 10xxxxxx
U+010000-U+10FFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
По маске первого октета определяется общее число октет в последовательности, а затем они проверяются на соответствие маске 10xxxxxx. Если какой-то байт не соответсвует маске, значит кодировка отличная от UTF-8 (в моем случае win1251).
Код, конечно, громоздкий, но для демонтрации самого алгоритма вполне достаточный
Перейти к вопросу →
Искал я оказыватся в правильно м месте, просто не дошёл до конца
WebOperationContext.Current.IncomingRequest.UriTemplateMatch.RequestUri
Перейти к вопросу →
Сделал))
Решение:
Stream Test();
а внутри строку преобразовал в поток
return new MemoryStream(Encoding.UTF8.GetBytes("test"));
Перейти к вопросу →
Он и не установится из соображений безопасности. Один из вариантов решения данной проблемы:
UserPassword.Attributes.Add("value", "Password");
Второй вариант - сделать свой контрол на базе TextBox. Приблизительно таким образом:
public class TestBox : TextBox
{
protected override void AddAttributesToRender(HtmlTextWriter writer)
{
base.AddAttributesToRender(writer);
if (this.TextMode == TextBoxMode.Password)
{
writer.AddAttribute("value",this.Text);
}
}
}
Ну можно и javascript ом установить значение.